• js的严格模式详解


    什么是js的严格模式?

    严格模式指的是使js在更为严格的条件下运行。严格模式的主要作用是规范我们写代码习惯,以及为js升级做好铺垫。

     如何使用严格模式?

    <script>
    //直接在代码开始写上''use strict
    'use strict';
    var a=123;
    function f(){
           //在函数体开始写上'use strict'
           "use strict";
           return !this;
    }
    </script>

    严格模式特点:

    1.不允许使用隐式声明的变量,会报错。
    a=123;

    2.不允许函数有相同的参数,对象有相同的属性。

    var a=function(a,a){
        alert(123);
    };
    "use strict";
      var o = {
        p: 1,
        p: 2
    }; // 语法错误

    3.不允许对只读属性赋值:

    "use strict";
    var obj = {};
    Object.defineProperty(obj, "x", {value:0, writable:false});
    obj.x = 3.14;            // 报错

    4.禁止this关键字指向全局对象,也就是说this不能指向window顶层对象。

    function f(){
      return !this;
    }// 返回false,因为"this"指向全局对象,"!this"就是false

     

    function f(){
      "use strict";
       return !this;
    }// 返回true,因为严格模式下,this的值为undefined,所以"!this"为true。

    5.不允许使用保留关键字(implements, interface, let, package, private, protected, public, static, yield)作为变量名。js一直处于发展中,这些保留关键字将来可能用来实现相应的功能。所以不能使用。


    6.创设eval作用域,在作用域 eval() 创建的变量不能在外部被调用
    "use strict";
    eval ("var x = 2");
    alert (x); 

  • 相关阅读:
    php通过ip获取地理位置的方法
    python程序怎么运行起来的
    php cURL学习 一个post提交反馈的小例子
    如何运行Python程序
    python初学者的建议
    php5.4新特性实践
    php中json_encode与json_decode注意事项
    Apanta安装Emmet(Zencoding)
    office 2013 电话激活步骤
    js中encodeURI()与encodeURIComponent()区别
  • 原文地址:https://www.cnblogs.com/xinggood/p/6531688.html
Copyright © 2020-2023  润新知