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