严格模式

# 严格模式

非严格模式是 es 3.0 和 es 5.0 混用 如果出现 es3.0 与 es5.0 冲突的地方 将会使用 es3.0

严格模式 是 冲突的地方将会使用 es5.0 规则。

# 启用严格模式

使用 “use strict” 来开启严格模式

可以加在脚本文件头部表示全局使用严格模式

加在函数头部表示函数内使用严格模式

# 为什么使用字符串来开启严格模式

因为假设浏览器没有升级到 es 5 的版本那么如果说你使用一个函数来开启严格模式由于没有升级就会报错

strict() // 报错
“use strict” // 成功开启

# 严格模式下无法使用

1、 不能使用 with

2、 caller、callee、arguments property 参数的属性都不能用

3、this 在全局指向 window 在局部是 undefined