介绍
JavaScript 除了提供正常模式外,还提供了严格模式(strict mode)。ES5 的严格模式是采用具有限制性 JavaScript变体的一种方式,即在严格的条件下运行 JS 代码。
严格模式在 IE10 以上版本的浏览器中才会被支持,旧版本浏览器中会被忽略。
严格模式消除了 Javascript 语法的一些不合理、不严谨之处,减少了一些怪异行为
使用:
使用 "use strict" 指令
<script>
"use strict"; //全局开启
</script>
function fn(){
"use strict";//单独为某个函数开启
......
}
严格模式的特点:
'use strict'
num = 10
console.log(num)//严格模式后使用未声明的变量会报错,必须先声明在使用
---------------------------------------------------------------------
'use strict'
var num2 = 1;
delete num2;//报错,严格模式不允许删除声明好得变量
---------------------------------------------------------------------
'use strict'
function fn() {
console.log(this); // 严格模式下全局作用域中函数中的 this 是 undefined
}
fn();
---------------------------------------------------------------------
"use strict"
function testRepeatName(a, a, b){
console.log(a)
console.log(b)
}
testRepeatName(10, 20, 30)//报错,严格模式下函数参数不能重名,非严格模式输出20,30