From 8726eb9048f8bce640c7cd6233da0eb4c1368b04 Mon Sep 17 00:00:00 2001 From: MartinsYong Date: Tue, 23 Jul 2019 23:01:37 +0800 Subject: [PATCH 1/2] sync with: 3c37e1d --- 1-js/02-first-steps/03-strict-mode/article.md | 38 ++++++++++++++++--- 1 file changed, 32 insertions(+), 6 deletions(-) diff --git a/1-js/02-first-steps/03-strict-mode/article.md b/1-js/02-first-steps/03-strict-mode/article.md index bb283c5cbd..21c316eac5 100644 --- a/1-js/02-first-steps/03-strict-mode/article.md +++ b/1-js/02-first-steps/03-strict-mode/article.md @@ -1,10 +1,10 @@ -# 新模式,"use strict" +# 现代模式,"use strict" 长久以来,JavaScript 不断发展且并未带来任何兼容性问题。新特性被加入该语言,旧的功能也没有改变。 这么做有利于兼容旧代码,但缺点是 JavaScript 创造者的任何错误和不完美的考虑也永远地保留在了语言中。 -直到 2009 年 ECMAScript 5 (ES5) 的出现。ES5 规范增加了新的语言特性并且修改了一些已经存在的特性。为了保证旧的功能能够使用,大部分的修改是默认不生效的。你需要一个特殊的指令 —— `"use strict"` 来明确地使用这些特性。 +这样的情况持续到 2009 年 ECMAScript 5 (ES5) 的出现。ES5 规范增加了新的语言特性并且修改了一些已经存在的特性。为了保证旧的功能能够使用,大部分的修改是默认不生效的。你需要一个特殊的指令 —— `"use strict"` 来明确地使用这些特性。 ## "use strict" @@ -15,7 +15,7 @@ ```js "use strict"; -// 代码以新模式工作 +// 代码以现代模式工作 ... ``` @@ -47,15 +47,41 @@ alert("some code"); 一旦进入了严格模式,就没有退路了。 ``` +## 浏览器控制台 + +以后,当你使用浏览器控制台去测试功能时,请注意 `use strict` 默认不会被启动。 + +有时,使用 `use strict` 产生影响的时候,你会得到错误的结果。 + +你可以试试按下 `key:Shift+Enter` 去输入多行代码,然后将 `use strict` 置顶,就像这样: + +```js +'use strict'; +// ...你的代码 + +``` + +它在大部分浏览器中都有效,即 Firefox 和 Chrome。 + +如果依然不行,那确保 `use strict` (有效)的最可靠方法是像这样将代码输入到控制台: + +```js +(function() { + 'use strict'; + + // ...你的代码... +})() +``` + ## 总是使用 "use strict" -使用 `"use strict"` 与“默认”模式的区别仍然有待完善。 +我们还没说到使用 `"use strict"` 与“默认”模式的区别。 -在接下来的章节中,当我们学习语言功能时,我们会记录严格模式的差异。幸运的是,没有那么多。实际上,它们为我们编写代码提供了极大的便利。 +在接下来的章节中,当我们学习语言功能时,我们会标注严格模式与默认模式的差异。幸运的是,没有那么多。实际上,它们为我们编写代码提供了极大的便利。 当前,一般来说了解这些就够了: 1. `"use strict"` 指令将浏览器引擎转换为“现代”模式,改变一些内建特性的行为。我们会在之后的学习中了解这些细节。 -2. 严格模式通过顶部的 `"use strict"` 启用。一些新语言特性诸如 "classes" 和 "modules" 也会自动开启严格模式。 +2. 严格模式通过整个脚本或函数顶部的 `"use strict"` 启用。一些新语言特性诸如 "classes" 和 "modules" 也会自动开启严格模式。 3. 所有的现代浏览器都支持严格模式。 4. 建议始终使用 `"use strict"` 启动脚本。本教程的所有例子都默认采用严格模式,除非特别指定(非常少)。 From 153cf59e8db56371b477ca356cf83f38d97bca0f Mon Sep 17 00:00:00 2001 From: MartinsYong Date: Tue, 23 Jul 2019 23:59:38 +0800 Subject: [PATCH 2/2] fix error. --- 1-js/02-first-steps/03-strict-mode/article.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/1-js/02-first-steps/03-strict-mode/article.md b/1-js/02-first-steps/03-strict-mode/article.md index 21c316eac5..aa353ac083 100644 --- a/1-js/02-first-steps/03-strict-mode/article.md +++ b/1-js/02-first-steps/03-strict-mode/article.md @@ -82,6 +82,6 @@ alert("some code"); 当前,一般来说了解这些就够了: 1. `"use strict"` 指令将浏览器引擎转换为“现代”模式,改变一些内建特性的行为。我们会在之后的学习中了解这些细节。 -2. 严格模式通过整个脚本或函数顶部的 `"use strict"` 启用。一些新语言特性诸如 "classes" 和 "modules" 也会自动开启严格模式。 +2. 严格模式通过将 `"use strict"` 放置在整个脚本或函数的顶部来启用。一些新语言特性诸如 "classes" 和 "modules" 也会自动开启严格模式。 3. 所有的现代浏览器都支持严格模式。 4. 建议始终使用 `"use strict"` 启动脚本。本教程的所有例子都默认采用严格模式,除非特别指定(非常少)。