美文网首页
严格模式

严格模式

作者: 向上而活 | 来源:发表于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>
    

    相关文章

      网友评论

          本文标题:严格模式

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