除了正常运行模式,ECMAscript5添加了第二种运行模式:“严格模式”(strict mode)。顾名思义,这种模式是的Javascript在更严格的条件下运行。
严格模式的主要作用:
1.消除了JS语法的一些不合理、不严谨之处,减少一些怪异行为;
2.消除代码运行的一些不安全之处,保证代码运行的安全;
3.提高编译器效率,增加运行速度;
4.为未来新版本的JS做好铺垫
一、如何使用严格模式: 'use strict' 要求必须需是字符串类型
二 、 严格模式分为两种: 全局模式 和 局部模式(在函数内部定义的)
全局模式例:
局部模式例:
三、使用严格模式之后的变化
1.变量声明时,必须加关键字(var)
例:在非严格和严格模式下输出未使用var声明的变量a
2.函数内不允许出现重名参数
例: 声明函数,三个形参(a,b,b),对比严格和非严格模式
3.arguments对象不允许被动态改变
例:函数内部修改形参的值,a=20,对比严格和非严格模式的输出
4 . this无法指向全局对象
例:在函数的内部输出this,查看结果
5.新增的保留字:implements,interface,let,package,private,protected,public,static,yield