什么是 JavaScript 中的严格模式?
javascriptobject oriented programmingprogramming
严格模式
ECMAScript 5 为 JavaScript 引入了严格模式。使用严格模式,JavaScript 静默错误可以轻松检测到,因为它们会引发错误。这使得 JavaScript 调试变得非常容易,并帮助开发人员避免不必要的错误。
由于严格模式在遇到未声明的变量时会引发异常,因此内存泄漏将大大减少。可以在需要严格模式的代码前面使用"use strict"来启用严格模式。
在下面的例子中使用了两个变量,一个在函数外部,另一个在函数内部。函数外部使用的变量未声明,而函数内部声明的变量使用 var 关键字声明。在函数内部使用严格模式不会抛出任何错误,因为变量是同时声明的,函数外部变量的值将显示,因为没有使用严格模式。
示例 1
<html> <body> <script> myString1 = "非严格模式将允许未声明的变量" document.write(myString1); document.write("</br>"); function myFun(){ "use strict" var myString2 = "严格模式将允许声明变量" document.write(myString2); } myFun(); </script> </body> </html>
输出
非严格模式将允许未声明变量
严格模式将允许声明变量
在下面的例子中,变量未在函数内部声明,并且应用了严格模式。因此,该变量内的值将不会被执行并引发错误。我们可以在浏览器控制台中找到错误。
示例 2
<html> <body> <script> myString1 = "非严格模式将允许未声明的变量" document.write(myString1); document.write("</br>"); function myFun(){ "use strict" myString2 = "严格模式将允许声明的变量" document.write(myString2); } myFun(); </script> </body> </html>