<i id='TYPxI'><tr id='TYPxI'><dt id='TYPxI'><q id='TYPxI'><span id='TYPxI'><b id='TYPxI'><form id='TYPxI'><ins id='TYPxI'></ins><ul id='TYPxI'></ul><sub id='TYPxI'></sub></form><legend id='TYPxI'></legend><bdo id='TYPxI'><pre id='TYPxI'><center id='TYPxI'></center></pre></bdo></b><th id='TYPxI'></th></span></q></dt></tr></i><div id='TYPxI'><tfoot id='TYPxI'></tfoot><dl id='TYPxI'><fieldset id='TYPxI'></fieldset></dl></div>
    1. <tfoot id='TYPxI'></tfoot>
        <bdo id='TYPxI'></bdo><ul id='TYPxI'></ul>
      <legend id='TYPxI'><style id='TYPxI'><dir id='TYPxI'><q id='TYPxI'></q></dir></style></legend>

      <small id='TYPxI'></small><noframes id='TYPxI'>

      跟我学习javascript的严格模式

      时间:2023-12-08

      • <bdo id='6OPvO'></bdo><ul id='6OPvO'></ul>
              <tbody id='6OPvO'></tbody>

                <legend id='6OPvO'><style id='6OPvO'><dir id='6OPvO'><q id='6OPvO'></q></dir></style></legend>

                <small id='6OPvO'></small><noframes id='6OPvO'>

                <i id='6OPvO'><tr id='6OPvO'><dt id='6OPvO'><q id='6OPvO'><span id='6OPvO'><b id='6OPvO'><form id='6OPvO'><ins id='6OPvO'></ins><ul id='6OPvO'></ul><sub id='6OPvO'></sub></form><legend id='6OPvO'></legend><bdo id='6OPvO'><pre id='6OPvO'><center id='6OPvO'></center></pre></bdo></b><th id='6OPvO'></th></span></q></dt></tr></i><div id='6OPvO'><tfoot id='6OPvO'></tfoot><dl id='6OPvO'><fieldset id='6OPvO'></fieldset></dl></div>
              1. <tfoot id='6OPvO'></tfoot>

                接下来我将为大家详细介绍“跟我学习JavaScript的严格模式”的完整攻略。

                什么是严格模式

                严格模式是JavaScript的一种运行模式,通过严格模式可以对代码的执行进行限制,使代码更加严谨,减少出错的可能性。在ES5中, JavaScript引入了严格模式概念,它是一组限制 JavaScript语言的特性。在严格模式中,一些在正常模式中默许的行为,会被视为错误,在代码执行过程中就会抛出错误。

                要开启 JavaScript 严格模式,只需在代码最上方或函数内第一行添加如下语句:

                'use strict';
                

                开启严格模式的好处

                严格模式在一些情况下可以提高 JavaScript的执行效率,避免一些怪异行为的发生,防止代码出现一些潜在错误,并且可以更加安全地使用一些全局变量、函数等。

                以下是开启严格模式的主要好处:

                • 消除 JavaScript语法的一些不合理、不严谨之处,减少一些怪异行为。
                • 消除代码运行的一些不安全之处,保证代码运行的安全。
                • 提高编译器效率,增加运行速度。
                • 禁用了在ECMAScript的未来版本中可能会定义的一些语法,为未来新版本的 JavaScript做好铺垫。

                严格模式的限制和注意点

                开启严格模式后,JavaScript的执行将容错能力降低,对一些无效的行为或使用不当的语法将发出警告或直接报错。比如:

                • 变量必须先声明后使用,未声明即使用的变量会抛出错误。
                • 禁止删除不可删除的属性。
                • 函数的参数名称不能重名。
                • 对象中定义重名的属性会抛出错误等等。

                还有一些需要注意的地方:

                • 严格模式下this的值不再是指向全局对象,而是undefined。因此,在严格模式下调用函数时,没有指定this的值,this将为undefined,这样就避免了在不使用this关键字的情况下调用函数时的错误问题。
                • 严格模式下,多次声明同一个变量会报错。
                • 严格模式下,eval在其所处的作用域内执行,而不是在全局作用域内执行。
                • 严格模式下,禁止使用with语句。

                如何使用严格模式

                在全局作用域使用严格模式

                要在全局作用域中使用严格模式,需要将严格模式的代码放在所有代码的最上方,即在JavaScript程序的第一行添加如下语句:

                'use strict';
                

                在函数作用域使用严格模式

                可以在函数定义中使用严格模式,这将限制该函数的执行,常用于一些高级函数中。

                function strictFunc() {
                  'use strict';
                  // 函数体中的代码将按照严格模式执行
                }
                

                严格模式下的示例

                例1:禁止重复定义的函数

                在 JavaScript 的正常模式下,可以在函数中重复定义同名的函数,后者会覆盖掉之前的函数。但是在严格模式下,如果在函数中定义了同名的函数,在执行到重复定义的函数时,将会直接抛出错误。以下是示例代码:

                'use strict';
                
                function foo() {
                  console.log('foo1');
                }
                
                // 这里会抛出异常:重复定义的函数
                function foo() {
                  console.log('foo2');
                }
                
                foo();
                

                在上面的例子中,运行foo函数时,会发生TypeError的错误。这是因为在严格模式下,函数 foo()已经在环境中定义,不能重复定义。

                例2:避免this关键字的隐式绑定

                在 JavaScript 之中,this关键字的值是在函数被调用时确定的。在非严格模式下,如果this关键字在函数中被省略了,那么this指向的是全局对象window。而在严格模式下,如果在函数中省略了this关键字,那么this指向的不再是全局对象window,而是undefined。以下是示例代码:

                'use strict';
                
                function foo() {
                  console.log(this); // undefined
                }
                
                foo();
                

                在上面的示例代码中,函数foo中没有传入this参数,因此在严格模式下,this将指向undefined,不再是非严格模式下的全局对象window。

                结论

                通过本文的介绍,我们可以了解到JavaScript严格模式的概念、好处、限制和注意点以及如何使用严格模式,同时也看到了严格模式下的示例。在实际开发中,要尽可能地使用严格模式,从而保证JavaScript代码的严谨性和安全性。

                上一篇:JS 中在严格模式下 this 的指向问题 下一篇:JavaScript Canvas实现兼容IE的兔子发射爆破动图特效

                相关文章

              2. <legend id='xCPKh'><style id='xCPKh'><dir id='xCPKh'><q id='xCPKh'></q></dir></style></legend>

                <small id='xCPKh'></small><noframes id='xCPKh'>

                1. <i id='xCPKh'><tr id='xCPKh'><dt id='xCPKh'><q id='xCPKh'><span id='xCPKh'><b id='xCPKh'><form id='xCPKh'><ins id='xCPKh'></ins><ul id='xCPKh'></ul><sub id='xCPKh'></sub></form><legend id='xCPKh'></legend><bdo id='xCPKh'><pre id='xCPKh'><center id='xCPKh'></center></pre></bdo></b><th id='xCPKh'></th></span></q></dt></tr></i><div id='xCPKh'><tfoot id='xCPKh'></tfoot><dl id='xCPKh'><fieldset id='xCPKh'></fieldset></dl></div>
                  <tfoot id='xCPKh'></tfoot>

                      <bdo id='xCPKh'></bdo><ul id='xCPKh'></ul>