JavaScript严格模式(易懂)

💂 个人网站: 【紫陌】【笔记分享网】
💅 想寻找共同学习交流、共同成长的伙伴, 请点击【前端学习交流群】

JavaScript有两种模式 :一种是普通模式,一种是严格模式

JavaScript 严格模式即在严格的条件下运行。

严格模式有什么用?

  1. 消除 Javascript 语法的不合理、不严谨之处,减少怪异行为;
  2. 消除代码运行的不安全之处,保证代码运行的安全;
  3. 提高编译器效率,增加运行速度;
  4. 为未来新版本的 Javascript 做好铺垫。

开启严格模式

严格模式通过在脚本函数的头部添加 use strict; 表达式来声明。

 <!-- 为整个脚本(script标签)开启严格模式 -->
    <script>
        'use strict';
        //   下面的js 代码就会按照严格模式执行代码
    </script>


    <!-- 为某个函数开启严格模式 -->
    <script>
        // 此时只是给fn函数开启严格模式
        function fn() {
            'use strict';
            // 下面的代码按照严格模式执行
        }

        function fun() {
            // 里面的还是按照普通模式执行
        }
    </script>

严格模式的变化

1.变量名必须先声明再使用

    'use strict';
    num = 10;
    console.log(num);

 2.我们不能随意删除已经声明好的变量      vscode已经提示波浪线了,控制台更不用看了

 3. 严格模式下全局作用域中函数中的 this 是 undefined。

    <script>
        'use strict';
        function fn() {
            console.log(this); // undefined。
        }
        fn()
    </script>

4. 严格模式下,如果 构造函数不加new调用, this 指向的是undefined 如果给他赋值则 会报错.

     function Star() {
        this.sex = '男';
        }
        Star();
        console.log(zimo.sex);

 如果加上new关键字

     function Star() {
        this.sex = '男';
        }
        var ldh = new Star();
        console.log(zimo.sex);

 

 5. 严格模式下函数里面的参数不允许有重名

    <script>
        'use strict';
        function fn(a, a) {
            console.log(a + a);
        };
    </script>

 如果不开启严格模式

    <script>
        function fn(a, a) {
            console.log(a + a);
        };
        fn(1, 2);
    </script>

 至于为什么是4?因为同一个a,内存地址一样

关注点赞!!!经常更新

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值