除了正常运行模式,ES5添加l第二种运行模式:‘严格模式’
写在哪个作用域下,就在那个作用域下生效。
格式:‘use strict’
注:尽量不要把严格模式写在全局作用域下。
严格模式目的:
1.消除Javascript语法的一些不合理不严谨之处,减少一些怪异行为。
2.消除代码运行的一些不安全之处,保证代码运行的安全。
3.提高编译器效率,增加运行速度。
4.为未来新版本的Javascript做好铺垫
使用严格模式,主要变化:
1.全局变量声明时,必须加var
普通模式:
严格模式:
2.this无法指向全局对象
普通模式:
严格模式:
3.函数内重名属性
普通模式:
严格模式:
4.arguments对象不允许被动态改变
普通模式:
严格模式:
5.新增保留字:implements,interface,let,package,private,protected,public,static,yield
正常模式:
严格模式: