一.什么是“严格模式”
JavaScript不断向前发展且并未带来任何兼容性问题,新的特性被加入,旧的功能也没有改变,这样虽有利于兼容旧代码,但写JavaScript代码时一些错误和不完善的地方存留在JavaScript语言中。ES5规范增加了新的语言特性并且修改了一些已经存在的特性。为了保证旧的功能能够使用,大部分修改是不生效的,需要“use strict”来明确激活这些特性,即同样的代码,可能运行结果不一样,一些“正常模式”下可以运行的语句,在“严格模式”下将不能运行。“严格模式”消除了JavaScript语法中一些不合理,不严谨之处。
二.“严格模式”用法
"严格模式"有两种调用方法,适用于不同的场合。
1.针对整个脚本文件
将“use strict”放在脚本文件的顶部(必须是在顶部,不然严格模式不会启用)。
<script>
"use strict";
console.log("这是严格模式")
</script>
2.针对单个函数
将“use strict”放在函数体第一行,整个函数以“严格模式”运行。
<script>
function strict(){
"use strict";
return "这是严格模式!"
}
</strict>
三.“严格模式”注意事项
开发者控制台运行代码时,默认不启动use strict,在控制台中启用“严格模式”,可以搭配Shift+Enter按键输入多行代码,将use strict放在代码最顶部,例:
'use strict'; <Shift+Enter 换行>
// ...你的代码
<按下 Enter 以运行>
大部分浏览器是兼容的,对于不兼容的旧版本浏览器可以通过以下方式启用“严格模式”
(function() {
'use strict';
// ...你的代码...
})()
现代JavaScript支持“class”和“module”,它们会启用use strict。因此在使用“class”与“module”时,无需添加"use strict"。