JS异常
<iframe frameborder="no" border="0" marginwidth="0" marginheight="0" width=298 height=52 src="//music.163.com/outchain/player?type=2&id=167691&auto=1&height=32"></iframe>
Error.name 的六中值对应信息:
- EvalError:eval()的使用与定义不一致。
- RangeError:数组越界。
- ReferenceError:非法或不能识别的引用数值。
- SyntaxError:语法解析错误。
- TypeError:操作数类型错误。
- URIError:URI处理函数使用不当。
严格模式
由于浏览器基于es3.0+es5.0的新增方法使用的,所以es3.0和es5.0产生冲突的部分就要用es5.0严格模式来解决,一旦启用es5.0,那么产生冲突的部分就启用es5.0,否则启用es3.0,所以启用规则就是严格模式。
启用方法:"use strict"
两种用法:
-
全局严格模式
-
局部函数严格模式(推荐)
影响:就是一行字符串,不会对不兼容的严格模式的浏览器产生影响
不支持with,arguments.callee,func.caller,变量赋值前,必须声明,局部this必须被赋值(Perosn,call(null/undefined)赋值什么就是什么),拒绝重复属性和参数。