为什么使用严格模式?
1.消除js语法中一些不合理、不严谨之处,减少一些怪异行为。
(1).消除代码的一些不安全之处,保证代码运行的安全。
(2).提高编译效率,增加运行速度。
(3).为未来的新版本js做好铺垫。
2.严格模式体现了js更合理、更安全、更严谨的发展方向,包括IE10在内的主流浏览器都已经开始支持它,许多大项目已经开始全面拥抱它。
3.一些正常模式下的代码在严格模式下不能运行。
严格模式指令出现的位置:“use strict”
(1).写在js语句的第一行,下面的代码将都遵循严格模式
(2).写在方法的第一行,表示该方法下的代码遵循严格模式
4.严格模式下应注意的语法规范:
(1).不能使用未声明的变量
(2).不允许删除变量或对象(只有configurable设置为true的对象属性才能删除)
(3).不允许删除函数
(4).函数参数不允许同名
(5).不允许使用八进制
(6).不允许对只读属性赋值
(7).不允许对一个使用getter方法读取的属性进行赋值
(8).变量名不能使用eval和arguments,不能使用with关键字
(9).创建在eval里面的变量不能被调用