JavaScript严格模式(“use strict“)的简单描述

JavaScript严格模式(“use strict”)的简单描述

1. 使用前准备:

严格模式出现在ES6版本,在IDEA或者其他编译工具中调整版本
在这里插入图片描述

2. 严格模式的作用:

  1. 由于JavaScript语言自由性,需要增加约束来消除JavaScript语法的一些不合理、不严谨之处;
  2. 消除代码运行的一些不安全之处,保证代码运行的安全;
  3. 为JavaScript的升级规范做好基础准备。

3. "use strict"书写位置:

  1. 在JavaScript代码开始处书写"use strict",针对整个JavaScript代码;
  2. 在函数体开始写上"use strict",针对特定函数。

4. 严格模式的要求及注意事项:

  1. 不允许定义全局变量:
  • 未开启严格模式的情况下(只包含部分JavaScript代码):
<script>
         i = 300000;
         console.log(i);
</script>

控制台效果:
注:浏览器开启开发者模式,在控制台Console调试
在这里插入图片描述

  • 开启开发者模式情况下(只包含部分JavaScript代码):
<script>
        "use strict" // JavaScript严格模式
         i = 300000; // 全局变量
         console.log(i);
</script>

控制台效果:
在这里插入图片描述

  • 解决方式:在全局变量前添加声明(let/var),变为局部变量。
  1. 创设eval作用域:
  • 未开启严格模式:
    eval() 在包含上下文中不再创建变量或函数
<script>
        eval("var a = 8");
        console.log(a); // 控制台显示8
</script>
  • 严格模式下:
    抛出 ReferenceError

  • 解决方式:

<script>
        "use strict"  // 严格模式
        var result = eval("var a = 8; var b = 2; a + b");
        console.log(result); // 结果为10
</script>
  1. 禁止使用with语句:
  • 使用效果:
    在这里插入图片描述
  1. 禁止this关键字指向全局对象:
  • 代码对比:
    在这里插入图片描述

  • 运行结果:
    在这里插入图片描述

  1. 保留字:
    严格模式新增了一些保留字:implements, interface, let, package, private, protected, public, static, yield。
  2. arguments对象的限制
  3. 不允许函数有相同的参数,对象有相同的属性
  4. 不允许对只读属性赋值
    等等

5. 总结

严格模式的出现,意味着JavaScript在向着更规范化的方向发展,在编写JavaScript代码时最好要开启严格模式,让自己代码更加规范、合理。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值