什么是 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>

输出
非严格模式将允许未声明的变量


相关文章