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);
      */

  • 相关阅读:
    【openwrt】——lua字符串操作
    Andriod绘图的基础知识
    protect,public,private 的区别
    fatjar 将项目使用的第三方jar包打包(亲测可用)
    TPshop学习(8)微信支付
    HTTP和HTTPS有什么区别? 什么是SSL证书?使用ssl证书优势?
    LNMP安装Let’s Encrypt 免费SSL证书方法:自动安装与手动配置Nginx
    腾讯云中ssL证书的配置安装
    微信小程序:微信登陆(ThinkPHP作后台)
    转载VC6LineNumberAddin 规格严格
  • 原文地址:https://www.cnblogs.com/xiaoyangtian/p/7967848.html
Copyright © 2011-2022 走看看