现代 JavaScript 教程 — "use strict" 现代模式

现代模式,"use strict"

长久以来,JavaScript 不断向前发展且并未带来任何兼容性问题。新的特性被加入,旧的功能也没有改变。javascript

这么作有利于兼容旧代码,但缺点是 JavaScript 创造者的任何错误或不完善的决定也将永远被保留在 JavaScript 语言中。html

这种状况一直持续到 2009 年 ECMAScript 5 (ES5) 的出现。ES5 规范增长了新的语言特性而且修改了一些已经存在的特性。为了保证旧的功能可以使用,大部分的修改是默认不生效的。你须要一个特殊的指令 —— "use strict" 来明确地激活这些特性。java

"use strict"

这个指令看上去像一个字符串 "use strict" 或者 'use strict'。当它处于脚本文件的顶部时,则整个脚本文件都将以“现代”模式进行工做。react

好比:编程

"use strict";

// 代码以现代模式工做
...
复制代码

稍后咱们才会学习函数(一种组合命令的方式)。浏览器

但咱们能够提早了解一下,"use strict" 能够被放在函数主体的开头,而不是整个脚本的开头。这样则能够只在该函数中启用严格模式。但一般人们会在整个脚本中启用严格模式。微信

确保 "use strict" 出如今最顶部

请确保 "use strict" 出如今脚本的最顶部,不然严格模式可能没法启用。函数

这里的严格模式就没有被启用:学习

alert("some code");
// 下面的 "use strict" 会被忽略,必须在最顶部。
 "use strict";

// 严格模式没有被激活
复制代码

只有注释能够出如今 "use strict" 的上面。测试

没有办法取消 use strict

没有相似于 "no use strict" 这样的指令可使程序返回默认模式。

一旦进入了严格模式,就没有退路了。

浏览器控制台

之后,当你使用浏览器控制台去测试功能时,请注意 use strict 默认不会被启动。

有时,使用 use strict 会产生一些不同的影响,你会获得错误的结果。

你能够试试按下 key:Shift+Enter 去输入多行代码,而后将 use strict 置顶,就像这样:

'use strict'; <Shift+Enter 换行> // ...你的代码 <按下 Enter 以运行> 复制代码

它在大部分浏览器中都有效,像 Firefox 和 Chrome。

若是依然不行,那确保 use strict 被开启的最可靠的方法是,像这样将代码输入到控制台:

(function() {
 'use strict';

  // ...你的代码...
})()
复制代码

老是使用 "use strict"

咱们还没说到使用 "use strict" 与“默认”模式的区别。

在接下来的章节中,当咱们学习语言功能时,咱们会标注严格模式与默认模式的差别。幸运的是,差别其实没有那么多。而且这些差别可让咱们更好地编程。

当前,通常来讲了解这些就够了:

  1. "use strict" 指令将浏览器引擎转换为“现代”模式,改变一些内建特性的行为。咱们会在以后的学习中了解这些细节。
  2. 严格模式经过将 "use strict" 放置在整个脚本或函数的顶部来启用。一些新语言特性诸如 "classes" 和 "modules" 也会自动开启严格模式。
  3. 全部的现代浏览器都支持严格模式。
  4. 咱们建议始终使用 "use strict" 启动脚本。本教程的全部例子都默认采用严格模式,除非特别指定(很是少)。

本教程首发于微信公众号「技术漫谈」。


现代 JavaScript 教程:开源的现代 JavaScript 从入门到进阶的优质教程。React 官方文档推荐,与 MDN 并列的 JavaScript 学习教程。

在线免费阅读:zh.javascript.info/


扫描下方二维码,关注微信公众号「技术漫谈」,订阅更多精彩内容。

相关文章
相关标签/搜索