赞
踩
“use strict”:表示使用严格模式
优点
● 消除Javascript语法的一些不严谨之处,减少一些怪异行为;
● 消除代码运行的一些不安全之处,保证代码运行的安全;
● 提高编译器效率,增加运行速度;
● 为未来新版本的Javascript做好铺垫
缺点
严格模式改变了语义。依赖这些改变可能会导致没有实现严格模式的浏览器中出现问题或者错误
严格模式的限制
1)变量必须声明后再使用
2)在使用默认参数的函数中的参数不能有同名属性,否则报错,在同一作用域中不能有同名参数
3)增加了保留字(比如protected、static和interface)
4)禁止this指向全局对象
5)不能对只读属性赋值,否则报错
6)不能使用前缀0表示八进制数,否则报错(用0O表示)
7)不能删除不可删除的属性,否则报错
8)不能使用with语句(with语句接收的对象会添加到作用域链的前端并在代码执行完之后移除)( with(obj) )
9)eval不会在它的外层作用域引入变量 ( eval(str) )
10 )eval和arguments不能被重新赋值
11)arguments不会自动反映函数参数的变化
12)不能使用arguments.callee
13)不能使用arguments.caller
14)不能使用fn.caller和fn.arguments获取函数调用的堆栈
15)不能删除变量delete prop,会报错,只能删除属性delete global[prop]
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。