1.什么是严格模式?
严格模式就是使javascript在更严格的条件下运行。
2.严格模式的目的?
2.1 消除一些javascript语法一些不合理、不严谨之处,减少一些怪异行为;
2.2 消除代码运行的一些不安全之处,保证代码运行的安全;
2.3. 提高编译器效率,增加运行速度;
2.4. 为未来新版本的Javascript做准备,可以说预留了接口;
3.严格模式的具体内容?
3.1 进入严格模式,使用“use strict”;
3.2 严格模式下一些语法和行为有变化,全局变量显示声明,都要先使用 var声明变量;
静态绑定,禁止使用with语句;
创建eval()作用域;
禁止this关键字指向全局对象;
禁止在函数内部遍历调用栈;
禁止删除变量;显示报错,对一个只读对象进行赋值报错,对禁止扩展的对象添加新属性,禁止删除一个不可删除的属性;
重名错误;
arguments对象的限制:不允许对arguments赋值;arguments不再追踪参数的变化;禁止使用arguments.callee;
函数必须声明在最顶层;
保留字:implements, interface, let, pakeage, private, protected, public, static, yield;