数据类型的转换
2 强制转换
2.1 Number()
2.2 String()
2.3 Boolean()
3 自动转换
错误处理机制
1 Error 实例对象
2 原生错误类型
2.1 SyntaxError 对象——解析代码时发生的语法错误
2.2 ReferenceError 对象——引用一个不存在的变量时发生的错误
2.3 RangeError 对象——一个值超出有效范围时发生的错误
- 数组长度为负数
- Number对象的方法参数超出范围,以及函数堆栈超过最大值。
2.4 TypeError 对象——变量或参数不是预期类型时发生的错误
2.5 URLError 对象——URI 相关函数的参数不正确时抛出的错误
- encodeURL()
- decodeURI()
- encodeURIComponent()
- decodeURIComponent()
- escape()
- unescape()
2.6 EvalError 对象
eval函数没有被正确执行时,会抛出EvalError错误
3 自定义错误
function UserError(message) {
this.message = message || '默认信息';
this.name = 'UserError';
}
UserError.prototype = new Error();
UserError.prototype.constructor = UserError;
上面代码自定义一个错误对象UserError,让它继承Error对象。然后,就可以生成这种自定义类型的错误了。
new UserError('这是自定义的错误!');
4 throw
5 try...catch...结构
一旦发生错误,程序就中止执行了。JavaScript 提供了try...catch结构,允许对错误进行处理,选择是否往下执行。
catch代码块捕获错误之后,程序不会中断,会按照正常流程继续执行下去。
catch代码块之中,还可以再抛出错误,甚至使用嵌套的try...catch结构。
6 finally 代码块
try...catch结构允许在最后添加一个finally代码块,表示不管是否出现错误,都必需在最后运行的语句。
return语句的执行是排在finally代码之前,只是等finally代码执行完毕后才返回。
典型场景
openFile();
try {
writeFile(Data);
} catch(e) {
handleError(e);
} finally {
closeFile();
}
编程风格
console 对象
console对象是 JavaScript 的原生对象,它有点像 Unix 系统的标准输出stdout和标准错误stderr,可以输出各种信息到控制台,并且还提供了很多有用的辅助方法。
常见用途
- 调试程序,显示网页代码运行时的错误信息
- 提供一个命令行接口,用来与网页代码互动
网友评论