一、什么是严格模式:
在严格条件下执行 js 代码,IE10以上版本的浏览器才能使用,低版本会忽略。
二、严格模式的优点:
1.消除了 javascript 的一些不合理,不严谨之处,减少了不可意料的怪异行为
2.消除了代码的一些不安全的地方,保证代码安全的运行
3.提高编译效率,提高运行速度
4.禁用了一些ECMAscript在未来的版本中可能会用到的一些语法,为新版本的javascript做铺垫,
如:class,extends,export,import,super等保留字
三、如何开启严格模式:
1全局开启严格模式:在js文件的开”use strict“
2.局部开启严格模式:在作用域的开头加 "use strict"
四、严格模式的一些改变:
1.变量:
1.必须先使用再声明
2.不能随意删除已声明的变量
2.this指向
1.以前全局作用域的this指向windows,现在的全局作用域的this指向undefined
2.以前构造函数在没有new的情况下,可以当普通函数使用,this指向windows,可以用windows来调用其中的属性和方法。
现在,构造函数在没有new的情况下,直接调用,this会报错
3.函数:
1.以前参数重名,后面的会覆盖前面的,现在参数重名会报错
2.不能在非函数的代码块内声明函数