美文网首页
严格模式

严格模式

作者: 向上而活 | 来源:发表于2020-06-15 17:34 被阅读0次
  1. 理解:
  • 除了正常运行模式(混杂模式),ES5添加了第二种运行模式:"严格模式"(strict mode)。
  • 顾名思义,这种模式使得Javascript在更严格的语法条件下运行
  1. 目的/作用
    • 消除Javascript语法的一些不合理、不严谨之处,减少一些怪异行为
    • 消除代码运行的一些不安全之处,为代码的安全运行保驾护航
    • 为未来新版本的Javascript做好铺垫
  2. 使用
  • 在全局或函数的第一条语句定义为: 'use strict';
  • 如果浏览器不支持, 只解析为一条简单的语句, 没有任何副作用
  1. 语法和行为改变
    • 必须用var声明变量,否则报错
    • 禁止自定义的函数中的this指向window,否则报错
    • 创建eval作用域
    • 对象不能有重名的属性,否则报错
<script type="text/javascript">
    'use strict';
    var age = 12;
    console.log(age);
    function Person(name, age) {
        this.name = name;
        this.age = age;
    }
    new Person('kobe', 39);
    setTimeout(function () {
        console.log(this);//window
    }, 1000);

    //* 创建eval作用域
    var name = 'kobe';
    eval('var name = "anverson";alert(name)');//严格模式下 创建eval自己的作用域, 不会改变eval前面的name的值
    console.log(name);//kobe  如果不是严格模式 将输出anverson

    var obj = {
        name : 'kobe',
        name : 'weide'
    };
    console.log(obj);

</script>

相关文章

  • 面向对象-严格模式、作用域

    严格模式 js有两中开发模式:非严格模式(默认)+严格模式(“ues strict”) 严格模式:会进行更严格的代...

  • JavaScript this

    全局下this 非严格模式/严格模式 window 函数内this 非严格模式 window 严格模式 undef...

  • 开发中的严格模式

    js中有严格模式和非严格模式两种运行环境 在开发中,有非严格模式和严格模式2种开发模式 在严格模式下,会做更加严格...

  • 严格模式和非严格模式

    es6添加了严格模式("use strict")主要作用: 1.严格模式通过抛出错误来消除一些原有的静默错误。 2...

  • JS基本类型和变量

    严格模式 ECMAScripr5引入了严格模式。启用严格模式可以在顶部添加: “use strict” 严格模式下...

  • 严格模式

    ECMScript 5引入严格模式(strict mode)。严格模式定义了一种不同的解析与执行模型,ES3中的不...

  • 严格模式

    概览 严格模式的 目的:使代码更加 安全和 易于优化,代表了这门语言未来的发展方向。我们应该在代码中一直使用。 内...

  • 严格模式

    除了正常的运行模式,JavaScript还有第二种运行模式:“严格模式”(strict mode)。顾名思义,这种...

  • 严格模式this

    在严格模式下,在全局作用域中,this指向window对象(和非严格模式一致) 对象的函数中的this指向调用函数...

  • 严格模式

    JS的严格模式: 定义和优点:严格模式是一种特殊的执行模式,它修复了部分语言上的不足(禁用with),提供了更强的...

网友评论

      本文标题:严格模式

      本文链接:https://www.haomeiwen.com/subject/ibshxktx.html