为何ES5提出use strict,竟然是因为它

398 阅读2分钟

作者帅的人都关注了

GithubGithub

爱好Americano More Ice !

项目源码: 项目Github源码!Star完再走

目录

定义

  • 声明格式
"use strict";(官网)
<!-- 或者 -->
'use strict'
  • 定义

"use strict"特性是在ES5(ECMAScript 5)中被新增的,目的是为了表明代码执行严格模式

  • 声明作用域

一般在脚本的开头声明,具有全局作用域(脚本中的所有代码都会在严格模式下执行)

PS:特殊场景,若在函数内部声明,它只具有局部作用域(仅函数内部的代码处于严格模式)

x = 3.14;       // This will not cause an error.
myFunction();

function myFunction() {
  "use strict";
  y = 3.14;   // This will cause an error
}

为什么用use strict模式

  • 该模式下更容易编写安全JavaScript
  • 该模式下不可接受->以前可接收的错误语法

举个例子,在普通 JavaScript 中,错误输入变量名会创建一个新的全局变量。在严格模式下,这将引发错误,从而不可能意外创建全局变量。

再举个例子,在严格模式下,任何对不可写属性、getter-only 属性、不存在的属性、不存在的变量或不存在的对象的赋值都会引发错误。

use strict模式作用范围

  • 变量:var、delete、let变量关键字
  • 对象:只读属性、 对象属性重复申明
  • 函数:参数重名、arguments对象申明
  • 其他:this、eval、关键字...

结束语:如果遇到什么疑问或者建议的,可直接留言评论!作者看到会马上一一回复

如果觉得小白此文章不错或对你有所帮助,期待你的一键三连💫!❤️ ni ~