gpt4 book ai didi

javascript - "use strict"在 JavaScript 中做了什么,其背后的原因是什么?

转载 作者:行者123 更新时间:2023-11-28 03:17:55 25 4
gpt4 key购买 nike

最近,我通过 Crockford 的 JSLint 运行了一些 JavaScript 代码。 ,并给出了以下错误:

Problem at line 1 character 1: Missing "use strict" statement.

做了一些搜索,我意识到有些人在他们的 JavaScript 代码中添加了 "use strict"; 。添加该语句后,错误就不再出现。不幸的是,谷歌并没有透露这个字符串语句背后的太多历史。当然,这肯定与浏览器如何解释JavaScript有关,但我不知道会产生什么效果。

那么“use strict”;到底是什么,它意味着什么,它仍然相关吗?

当前浏览器是否响应“use strict”;字符串或者是否供将来使用?

最佳答案

ES6 模块更新

内部native ECMAScript modules (使用 importexport 语句)和 ES6 classes ,严格模式始终启用且无法禁用。

原始答案

您可能会对这篇有关 Javascript 严格模式的文章感兴趣:John Resig - ECMAScript 5 Strict Mode, JSON, and More

引用一些有趣的部分:

Strict Mode is a new feature in ECMAScript 5 that allows you to place a program, or a function, in a "strict" operating context. This strict context prevents certain actions from being taken and throws more exceptions.

还有:

Strict mode helps out in a couple ways:

  • It catches some common coding bloopers, throwing exceptions.
  • It prevents, or throws errors, when relatively "unsafe" actions are taken (such as gaining access to the global object).
  • It disables features that are confusing or poorly thought out.

另请注意,您可以将“严格模式”应用于整个文件...或者您可以仅将其用于特定函数(仍然引用 John Resig 的文章):

// Non-strict code...

(function(){
"use strict";

// Define your library strictly...
})();

// Non-strict code...

如果您必须混合新旧代码,这可能会有所帮助;-)

所以,我想它有点像 "use strict"您可以在 Perl 中使用(因此得名?):它通过检测更多可能导致损坏的事情来帮助您减少错误。

严格模式现在为supported by all major browsers .

关于javascript - "use strict"在 JavaScript 中做了什么,其背后的原因是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59474616/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com