0
点赞
收藏
分享

微信扫一扫

手机如何下载短视频到本地:成都鼎茂宏升文化传媒公

艾晓雪 2024-05-16 阅读 22

严格模式(Strict Mode)是一种运行模式,它提供了一种更加严格的语法和错误检查,以帮助开发者编写更可靠、更规范的代码。

  1. 什么是严格模式:
    严格模式是一种 JavaScript 的执行模式,通过启用严格模式,可以对一些不规范或潜在的问题进行检测,并禁用一些不安全的语言特性,以提高代码质量和可维护性。

  2. 开启严格模式:
    在脚本文件或函数的开头添加"use strict";字符串,即可开启严格模式。例如:

    "use strict";
    // 严格模式下的代码
    
  3. 严格模式和普通模式的区别:

    • 变量必须声明:在严格模式下,变量必须使用varletconst进行声明,否则会抛出错误。而在普通模式下,未声明的变量会被隐式创建为全局变量。
    • 删除变量和不可写(不允许删除的 / 不存在的)属性:在严格模式下,无法删除不可写的变量(使用delete操作符),会抛出错误。而在普通模式下,删除不可写属性的操作会静默失败(不会给出任何提示)。
    • 禁止重复的函数参数名:在严格模式下,函数声明中禁止使用重复的参数名,否则会抛出错误。而在普通模式下,重复的参数名会被忽略。
    • 对象不能有重名属性(ES6 已不存在此问题)。
    • 禁止使用八进制字面量:在严格模式下,八进制字面量(以0开头的数字)将被视为语法错误。而在普通模式下,八进制字面量会被解析为对应的十进制数。
    • 函数内部this值为undefined:在严格模式下,函数内部的this值为undefined,而不是默认指向全局对象(如浏览器中的window)。
    • 创设 eval 作用域。严格模式下创设了 eval 作用域。正常模式下, eval 语句的作用域取决于它处再哪个作用域。严格模式下,eval 本身就是一个作用域,不能再生成全局作用域了,所生成的变量只能用于 eval 内部。
    "use strict";
    
    var x = 2
    // eval函数用于将给定的字符串作为JavaScript代码执行
    console.info(eval('var x = 5; x'))
    console.info(x)  // 严格模式下,eval中的变量不会影响外部变量,所以为2;否则为5
    
    • 保留字。严格模式新增的一些保留字:interface、let、package、private、static等,用于变量名将会报错。

使用严格模式的优点:

  • 消除JavaScript语法的一些不合理、不严谨之处,减少一些怪异行为
  • 消除代码运行的一些不安全之处,保证代码运行的安全
  • 提高编译器效率,增加运行速度
  • 为未来新版本的Javascript做好铺垫
举报

相关推荐

0 条评论