JavaScript 中的严格模式 use strict的使用
ECMAScript 5中提出了严格模式,use strict,限制了一些不规范的写法。
例如:
1、未声明的全局变量赋值会抛出ReferenceError ,而不会默认创建一个全局变量。
2、使用with、eval等语句时,抛出SyntaxError
3、全局变量不可以删除。
"use strict"; var a=123; delete a;//VM175:3 Uncaught SyntaxError: Delete of an unqualified identifier in strict mode.4、系统内置属性不可以删除。
5、已冻结对象属性、已密封对象属性不可删除。
6、函数参数不可以重名。
"use strict"; function a(v,v){};//Uncaught SyntaxError: Duplicate parameter name not allowed in this context