选择使用
use strict
变量
不允许意外创建全局变量(未声明变量),不能对变量调用delete
操作符
对象
为只读数据赋值,对不可配置的属性使用delete操作符,为不可扩展的对象添加属性都会抛出TypeError
函数
命名函数的参数必须唯一,淘汰了arguements.callee/caller
eval()
它在包含上下文中不再常见变量或函数,否则抛出ReferenceError
eval arguments
禁止作为标识符,也不允许读写他们的值
抑制this
非严格模式下apply()或call()中调用null或undefined会被转换成全局对象
,严格模式下函数的this始终是指定的值