一、什么是严格模式
JavaScript 严格模式(strict mode)即在严格的条件下运行,同样的代码在正常模式下可以运行,但可能在严格模式下报错。
二、为什么使用严格模式
1.消除JS语法的一些不合理、不严谨之处,保证代码运行的安全
2.提高变异效率,增加运行速度
三、严格模式声明
- 在脚本或函数的头部添加“use strict”表达式
- 在函数内部声明是局部作用域(严格模式只在函数内使用)
四、严格模式的限制
1.不能使用未定义的变量
2.不允许删除变量或对象
不允许删除函数
3.不允许变量重名(跟1类似,函数形参不能重名)
正常模式下可以重名,声明过的变量可以重名
4.不允许使用八进制
5.不允许使用转义字符 \
6.不允许修改只读属性的值
7.不允许对只有getter方法的属性修改(类似6)
8.不允许删除对象的原型对象
9.不允许使用eval或arguments作为关键字
10.严格模式下,禁止this关键字指向全局对象