zoukankan      html  css  js  c++  java
  • JavaScript-严格模式

    一、严格模式和普通模式的不同?

      1、严格 ==》 变量必须通过var进行声明

      2、严格 ==》with被禁用

      3、严格 ==》eval作用域,eval()内的变量外面是读取不到的。

      4、严格 ==》禁止this关键字指向全局变量

      5、严格 ==》禁止函数内部遍历调用栈

      6、严格 ==》argunments对象的限制:argunments是函数的参数对象,严格模式做了修改:

        不允许对argunments赋值

        argunments不再追踪参数的变动

        禁止使用argunments,无法在匿名函数内部调用自身

          例子:var fn=function(num){

               num+=100;

               alert(num);

               alert(argunments[0]);

              }

              fn(100);

          结果:普通:200 200   严格:200 100

      7、严格 ==》禁止删除变量

      8、严格 ==》对禁止

    5、严格 ==》

    5、严格 ==》

    5、严格 ==》

    二、

      with 语句用于设置代码在特定对象中的作用域。(在低版本的浏览器中,会有内存泄露的情况,尽量不要使用)

    三、严格模式

    <script>
      "use strict"

    <、script>

      ****with

    <script>

      var obj={};

      var a=2;

      var b=3;

      with(obj){

        alert(a+b);  

      } 

    </script>  

      结果是:5

    如果是在严格模式下,就会报错,因为,严格模式下,with是不被承认的

    <script>

      "use strict"          //严格模式

      var obj={};

      var a=2;

      var b=3;

      with(obj){

        alert(a+b);  

      } 

    </script>

      结果是:报错

      ****this

      严格模式下,构造函数是会报错的,原因在于this

      //"use strict"

      var Cat=function(name)
      {
        this.name=name;
        this.say=function()
        {
          alert(this.name);
        }
      }
      Cat("猫咪");
      window.say();
      console.log(window);

      

      ****eval作用域

      "use strict"
      //严格模式下,会报错,因为eval()内的变量是读取不到的,只能在eval()内读取
      eval("var s=200;alert(s);");
      alert(s);
      //普通模式下,会报错,因为eval()内的变量,函数外面是不能使用的
      /* var abc=function()
      {
        eval('var s=200;');
      }
      abc();
      alert(s);
      */

  • 相关阅读:
    mysq 日期相减
    说说时间观与时间管理——北漂18年(71)
    ionic之切换开关
    ionic之单选框
    SELECT ... LOCK IN SHARE MODE和SELECT ... FOR UPDATE locks在RR模式下可以看到最新的记录
    14.5.2.3 Consistent Nonlocking Reads 一致性非锁定读
    14.5.2.2 autocommit, Commit, and Rollback
    14.5.2 事务隔离级别
    对于唯一索引使用唯一条件搜索, InnoDB 只锁定找到的index record,不是它之前的区间
    mysql explain 解释
  • 原文地址:https://www.cnblogs.com/xiaoyangtian/p/7967848.html
Copyright © 2011-2022 走看看