File tree 8 files changed +26
-33
lines changed
3-primitive-conversions-questions
8 files changed +26
-33
lines changed Original file line number Diff line number Diff line change @@ -110,7 +110,8 @@ JavaScript 是将这三件事结合在一起的唯一的浏览器技术。
110
110
- [ TypeScript] ( http://www.typescriptlang.org/ ) 专注于添加“严格的数据类型”以简化开发,以更好地支持复杂系统的开发。由微软开发。
111
111
- [ Flow] ( http://flow.org/ ) 也添加了数据类型,但是以一种不同的方式。由 Facebook 开发。
112
112
- [ Dart] ( https://www.dartlang.org/ ) 是一门独立的语言。它拥有自己的引擎,该引擎可以在非浏览器环境中运行(例如手机应用),它也可以被编译成 JavaScript。由 Google 开发。
113
- - [ Brython] ( https://brython.info/ ) 是一个 Python 的 JavaScript 编译器,可以在不使用 JavaScript 的情况下,以纯 Python 编写应用程序。
113
+ - [ Brython] ( https://brython.info/ ) 是一个 Python 到 JavaScript 的转译器,让我们可以在不使用 JavaScript 的情况下,以纯 Python 编写应用程序。
114
+ - [ Kotlin] ( https://kotlinlang.org/docs/reference/js-overview.html ) is a modern, concise and safe programming language that can target the browser or Node.
114
115
115
116
这样的语言还有很多。当然,即使我们在使用此类编译语言,我们也需要了解 JavaScript。因为了解 JavaScript 才能让我们真正明白我们在做什么。
116
117
Original file line number Diff line number Diff line change 17
17
18
18
## 手册
19
19
20
- - ** MDN(Mozilla)JavaScript 索引** 是一个带有用例和其他信息的手册 。它是一个获取关于个别语言函数、方法等深入信息的很好的来源 。
20
+ - ** MDN(Mozilla)JavaScript 索引** 是一个带有用例和其他信息的主要手册 。它是一个获取关于个别语言函数、方法等深入信息的很好的信息来源 。
21
21
22
22
你可以在 < https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference > 阅读它。
23
23
24
- 虽然,利用互联网搜索通常是最好的选择。只需在查询时输入“MDN [ 关键字] ”,例如 < https://google.com/search?q=MDN+parseInt > 搜索 ` parseInt ` 函数。
25
-
26
-
27
- - ** MSDN** —— 一本微软的手册,它包含大量的信息,包括 JavaScript(在里面经常被写成 JScript)。如果有人需要关于 Internet Explorer 的规范细节,最好去看:< http://msdn.microsoft.com/ > 。
28
-
29
- 当然,我们还可以在使用互联网搜索中使用如 "RegExp MSDN" 或 "RegExp MSDN jscript" 这样的词条。
24
+ 虽然,利用互联网搜索通常是最好的选择。只需在查询时输入“MDN [ 关键字] ”,例如 < https://google.com/search?q=MDN+parseInt > 搜索 ` parseInt ` 函数。
30
25
31
26
## 兼容性表
32
27
Original file line number Diff line number Diff line change 9
9
10
10
## “script” 标签
11
11
12
- JavaScript 程序可以在 ` <script> ` 标签的帮助下插入到 HTML 文档的任何地方 。
12
+ 我们几乎可以使用 ` <script> ` 标签将 JavaScript 程序插入到 HTML 文档的任何位置 。
13
13
14
14
比如:
15
15
Original file line number Diff line number Diff line change @@ -56,39 +56,36 @@ alert(3 +
56
56
如果你好奇地想知道一个这种错误的具体例子,那你可以看看下面这段代码:
57
57
58
58
```js run
59
- [1, 2].forEach(alert)
59
+ alert("Hello");
60
+
61
+ [1, 2].forEach(alert);
60
62
```
61
63
62
- 你不需要考虑方括号 `[]` 和 `forEach` 的含义,现在它们并不重要,之后我们会学习它们。让我们先记住这段代码的运行结果:先显示 `1 `,然后显示 `2`。
64
+ 你不需要考虑方括号 `[]` 和 `forEach` 的含义,现在它们并不重要,之后我们会学习它们。让我们先记住这段代码的运行结果:先显示 `Hello `,然后显示 `1`,然后 `2`。
63
65
64
- 现在我们在代码前面插入一个 `alert` 语句,并且不加分号 :
66
+ 现在,让我们删除 `alert` 语句后的分号 :
65
67
66
68
```js run no-beautify
67
- alert("There will be an error ")
69
+ alert("Hello ")
68
70
69
- [1, 2].forEach(alert)
71
+ [1, 2].forEach(alert);
70
72
```
71
73
72
- 现在,如果我们运行代码,只有第一个 `alert` 语句的内容被显示了出来,随后我们收到了一个错误!
73
-
74
- 但是,如果我们在第一个 `alert` 语句末尾加上一个分号,就工作正常了:
75
- ```js run
76
- alert("All fine now");
77
-
78
- [1, 2].forEach(alert)
79
- ```
74
+ 与上面的代码相比只有一个字符的区别:第一行末尾的分号不见了。
80
75
81
- 现在,我们能得到 "All fine now",然后是 `1` 和 `2` 。
76
+ 如果我们运行这段代码,只有第一个 `Hello` 会被显示出来(并且有一个报错,你可能需要打开控制台才能看到它)。并且不会再有数字被显示出来 。
82
77
83
- 无分号的变体(variant)会出现报错,是因为 JavaScript 并不会在方括号 `[...]` 前添加一个隐式的分号 。
78
+ 这是因为, JavaScript 引擎并没有假设在方括号 `[...]` 前有一个分号。因此,最后一个示例中的代码被视为了单个语句 。
84
79
85
- 所以,因为没有自动插入分号,第一个例子中的代码被视为了一条简单的语句,我们从引擎看到的是这样的 :
80
+ 对于引擎来说,它是这样的 :
86
81
87
82
```js run no-beautify
88
- alert("There will be an error ")[1, 2].forEach(alert)
83
+ alert("Hello ")[1, 2].forEach(alert);
89
84
```
90
85
91
- 但它应该是两条语句,而不是一条。这种情况下的合并是不对的,所以才会造成错误。诸如此类,还有很多。
86
+ 看起来很奇怪,对吧?在这种情况下,这样将两行代码合并到一起是不对的。我们需要在 `alert` 后面加一个分号,代码才能正常运行。
87
+
88
+ 这也可能发生在其他情况下。
92
89
````
93
90
94
91
即使语句被换行符分隔了,我们依然建议在它们之间加分号。这个规则被社区广泛采用。我们再次强调一下 —— 大部分时候可以省略分号,但是最好不要省略分号,尤其对新手来说。
Original file line number Diff line number Diff line change @@ -9,7 +9,6 @@ true + false = 1
9
9
" $" + 4 + 5 = " $45"
10
10
" 4" - 2 = 2
11
11
" 4px" - 2 = NaN
12
- 7 / 0 = Infinity
13
12
" -9 " + 5 = " -9 5" // (3)
14
13
" -9 " - 5 = - 14 // (4)
15
14
null + 1 = 1 // (5)
Original file line number Diff line number Diff line change @@ -16,7 +16,6 @@ true + false
16
16
" $" + 4 + 5
17
17
" 4" - 2
18
18
" 4px" - 2
19
- 7 / 0
20
19
" -9 " + 5
21
20
" -9 " - 5
22
21
null + 1
Original file line number Diff line number Diff line change @@ -56,14 +56,16 @@ alert( 8 % 3 ); // 2,8 除以 3 的余数
56
56
57
57
### 求幂 **
58
58
59
- 求幂运算 ` a ** b` 是 ` a` 乘以自身 ` b` 次。
59
+ 求幂运算 ` a ** b` 将 ` a` 提升至 ` a` 的 ` b` 次幂。
60
+
61
+ 在数学中我们将其表示为 a< sup> b< / sup> 。
60
62
61
63
例如:
62
64
63
65
` ` ` js run
64
- alert( 2 ** 2 ); // 4 (2 * 2,自乘 2 次)
65
- alert( 2 ** 3 ); // 8 (2 * 2 * 2,自乘 3 次)
66
- alert( 2 ** 4 ); // 16 (2 * 2 * 2 * 2,自乘 4 次)
66
+ alert( 2 ** 2 ); // 2² = 4
67
+ alert( 2 ** 3 ); // 2³ = 8
68
+ alert( 2 ** 4 ); // 2⁴ = 16
67
69
` ` `
68
70
69
71
在数学上,求幂的定义也适用于非整数。例如,平方根是以 ` 1/2` 为单位的求幂:
You can’t perform that action at this time.
0 commit comments