try…catch
在try里面发生的错误,不会执行错误后的try里面的代码
try{
}catch(e){
console.log(e.name + " : " + e.message);//打印错误信息
}
Error.name的六种值对应的信息
-
EvalError: eval()的使用与定义不一致
-
RangeError: 数值越界
-
ReferenceError: 非法或不能识别的引用值
-
SyntaxError: 发生语法解析错误
-
TypeRError: 操作数类型错误
-
URIError: URI处理函数使用不当
es5严格模式
使用es5.0严格模式后,es3.0和es5.0产生冲突的部分就是用es5.0,否则会用es3.0
“use strict”;
不再兼容es3的一些不规则语法.使用全新的es5规范
两种用法
全局严格模式
局部函数内严格模式(推荐)
就是一行字符串,不会对不兼容严格模式的浏览器产生影响
不支持with,arguments,callee,func,caller,变量赋值前必须声明,局部this必须被赋值(Person.call(null/undefined)赋值什么就是什么),拒绝重复性和参数
eval()函数:将字符串当做代码来运行