飙血推荐
  • HTML教程
  • MySQL教程
  • JavaScript基础教程
  • php入门教程
  • JavaScript正则表达式运用
  • Excel函数教程
  • UEditor使用文档
  • AngularJS教程
  • ThinkPHP5.0教程

JavaScript严格模式 use strict

时间:2021-11-24  作者:匿名  

严格模式,“use strict”

很长一段时间以来,JavaScript 的发展都没有兼容性问题。新功能被添加到语言中,而旧功能没有改变。

这样做的好处是永远不会破坏现有代码。但缺点是 JavaScript 的创建者做出的任何错误或不完美的决定都会永远停留在该语言中。

直到 2009 年 ECMAScript 5 (ES5) 出现时都是这种情况。它为该语言添加了新功能并修改了一些现有功能。为了保持旧代码正常工作,默认情况下大多数此类修改都是关闭的。您需要使用特殊指令显式启用它们:"use strict".

“use strict”

该指令看起来像一个字符串:"use strict"或'use strict'。当它位于脚本的顶部时,整个脚本以“现代”方式工作。

例如:

"use strict";
// this code works the modern way
...

很快我们将学习函数(一种对命令进行分组的方法),所以让我们提前注意"use strict"可以放在函数的开头。这样做仅在该功能中启用严格模式。但通常人们将它用于整个脚本。

确保“use strict”位于顶部

请确保它"use strict"位于脚本的顶部,否则可能无法启用严格模式。

此处未启用严格模式:

alert("some code");
// "use strict" below is ignored--it must be at the top
"use strict";
// strict mode is not activated

上面只能出现评论"use strict"。

没有办法取消 use strict

没有这样的指令"no use strict"可以将引擎恢复到旧行为。

一旦我们进入严格模式,就没有回头路了。

浏览器控制台

当您使用开发者控制台运行代码时,请注意use strict默认情况下不会。

有时,当有所作为时use strict,您会得到不正确的结果。

那么,如何use strict在控制台中实际操作呢?

首先,你可以尝试按下输入多行,并放在最上面,像这样:Shift+Enteruse strict

'use strict'; <Shift+Enter for a newline>
//  ...your code
<Enter to run>

它适用于大多数浏览器,即 Firefox 和 Chrome。

如果没有,例如在旧浏览器中,则有一种丑陋但可靠的方法来确保use strict. 把它放在这种包装里:

(function() {
  'use strict';
  // ...your code here...
})()

我们应该“使用严格”吗?

这个问题可能听起来很明显,但事实并非如此。

可以推荐使用"use strict"...开始脚本,但你知道什么是酷的吗?

现代 JavaScript 支持“类”和“模块”——高级语言结构(我们肯定会了解它们),它们会use strict自动启用。所以我们不需要添加"use strict"指令,如果我们使用它们。

所以,现在"use strict";是你脚本顶部的一个受欢迎的客人。稍后,当您的代码全部在类和模块中时,您可以省略它。

到目前为止,我们已经use strict大致了解了。

在接下来的章节中,随着我们学习语言特性,我们将看到严格模式和旧模式之间的区别。幸运的是,数量并不多,它们实际上让我们的生活变得更好。

本教程中的所有示例都采用严格模式,除非(很少)另有说明。

搜你所爱
JavaScript:目录
湘ICP备14001474号-3  投诉建议:234161800@qq.com   部分内容来源于网络,如有侵权,请联系删除。