use strict
作为语法声明未使用严格模式时,则称之为混乱模式(非严格模式)class
与模块内默认采用严格模式。with
语句with
语句this
是undefined
this
默认指向全局对象call()
和apply()
传入的第一个值不会被转换call()
和apply()
传入的第一个值如果是null
或undefined
则会被全局对象取代,如果是原始值则转换为对应的包装对象eval()
的代码不能再定义变量和函数eval()
创建的新作用域中delete
后跟非法标识符将抛出语法错误异常false
delete
删除不可配置的属性将抛出类型错误异常false
eval()
和arguments
当作关键字,并且不允许更改arguments.caller
和arguments.callee
将抛出类型错误异常arguments
对象拥有传入函数值的静态副本