.jpg)
网友问题:
最近,我通过Crockford的JSLint运行了一些JavaScript代码,它给出了以下错误:
第 1 行字符 1 处的问题:缺少“使用严格”语句。
做一些搜索,我意识到有些人在他们的JavaScript代码中添加了。添加语句后,错误不再出现。不幸的是,谷歌没有透露这个字符串声明背后的大部分历史。当然,它一定与浏览器如何解释JavaScript有关,但我不知道效果会是什么。"use strict";
那么到底是怎么回事,它意味着什么,它仍然相关吗?"use strict";
当前是否有任何浏览器响应该字符串或是否供将来使用?"use strict";

网友回答:
这是 ECMAScript 5 的一个新功能。约翰·雷西格(John Resig)对此进行了很好的总结。
它只是你放在 JavaScript 文件中的一个字符串(在文件的顶部或函数内部),看起来像这样:
"use strict";
现在把它放在你的代码中应该不会对当前的浏览器造成任何问题,因为它只是一个字符串。如果您的代码违反编译指示,将来可能会导致代码出现问题。例如,如果您当前没有先定义,则您的代码将开始失败……在我看来,这是一件好事。foo = "bar"foo

网友回答:
在原生 ECMAScript 模块(带有 和 语句)和 ES6 类中,严格模式始终处于启用状态,不能禁用。importexport
这篇关于 Javascript Strict Mode 的文章可能会让你感兴趣:John Resig – ECMAScript 5 Strict Mode、JSON 等
引用一些有趣的部分:
严格模式是 ECMAScript 5 中的一个新功能,它允许您将程序或函数放置在“严格”操作上下文中。这种严格的上下文会阻止执行某些操作并引发更多异常。
和:
严格模式在以下几个方面有所帮助:
- 它捕获了一些常见的编码浮夸,抛出异常。
- 当采取相对“不安全”的操作(例如获取对全局对象的访问权限)时,它会防止或引发错误。
- 它禁用令人困惑或考虑不周的功能。
另请注意,您可以将“严格模式”应用于整个文件…或者你可以只将它用于特定的函数(仍然引用John Resig的文章):
// Non-strict code...
(function(){
"use strict";
// Define your library strictly...
})();
// Non-strict code...
如果您必须混合新旧代码?,这可能会有所帮助
所以,我想它有点像你可以在Perl中使用的(因此得名?):它通过检测更多可能导致破损的东西来帮助你减少错误。"use strict"
所有主流浏览器现在都支持严格模式。

网友回答:
该语句指示浏览器使用严格模式,这是 JavaScript 的一个简化且更安全的功能集。"use strict";
varNaN = 5;)delete Object.prototype)var x = {x1: "1", x1: "2"})function sum (x, x) {...})var x = 023;witheval在严格模式下不引入新变量delete x;)evalarguments下面的示例部分以了解差异argumentsfunction sum (a,b) { return arguments[0] + b;}arguments[0]a)arguments.callee不支持[参考:严格模式,Mozilla 开发者网络]
例子:
function show( msg ){
msg = 42;
console.log( msg ); // msg === 42
console.log( arguments[0] ); // arguments === 42
}
show( "Hey" );
// In strict mode arguments[i] does not track the value of
// the corresponding named argument, nor does a named argument track the value in the corresponding arguments[i]
function showStrict( msg ){
"use strict";
msg = 42;
console.log( msg ); // msg === 42
console.log( arguments[0] ); // arguments === "Hey"
}
showStrict( "Hey" );
模板简介:该模板名称为【“use strict”在JavaScript中做了什么,背后的原因是什么?】,大小是暂无信息,文档格式为.编程语言,推荐使用Sublime/Dreamweaver/HBuilder打开,作品中的图片,文字等数据均可修改,图片请在作品中选中图片替换即可,文字修改直接点击文字修改即可,您也可以新增或修改作品中的内容,该模板来自用户分享,如有侵权行为请联系网站客服处理。欢迎来懒人模板【JavaScript】栏目查找您需要的精美模板。