Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
879 commits
Select commit Hold shift + click to select a range
af96c14
feat: update translation
leviding Dec 4, 2021
b9500f6
feat: 优化翻译 1-js/05-data-types/02-number/article.md (#979)
zkangHUST Dec 5, 2021
a472bfd
themeable svgs
iliakan Dec 15, 2021
b0d57a9
fix: translation in 2-ui/2-events/04-default-browser-action/article.m…
ZhaoTim Dec 16, 2021
fe1e5c9
fix: typo error in 5-network/06-fetch-api/article.md (#984)
onlyhy Dec 22, 2021
3f45ad9
fix: touch-events should be touch-action (#980)
justforuse Dec 22, 2021
f926abb
fix: translation in 1-js/11-async/01-callbacks/article.md (#985)
ZhaoTim Dec 29, 2021
1f9656f
feat: update 9-regular-expressions/14-regexp-lookahead-lookbehind/art…
Serious54088 Jan 2, 2022
a0340f5
feat: improve translation of "iterable" in 1-js/11-async/05-promise-a…
CyrusYip Jan 10, 2022
5c77734
fix: translation (#1002)
Yukee-798 Feb 4, 2022
9af2960
fix: link in 2-ui/1-document/01-browser-environment/article.md (#999)
iwanderer Feb 4, 2022
7b25718
fix: querySelectorAll in 8-web-components/5-slots-composition/article…
songhn233 Feb 4, 2022
974a8c2
fix: translation in 1-js/06-advanced-functions/03-closure/article.md …
ZhaoTim Feb 4, 2022
6b2e887
imp: 1-js/07-object-properties/02-property-accessors/article.md (#993)
Dangdtx Feb 4, 2022
3343d2d
fix: bug caused by GitHub data change (#988)
mamonaki Feb 4, 2022
e4e6eea
imp: translation in 1-js/06-.../03-.../article.md
leviding Feb 4, 2022
5720584
fix: bug caused by GitHub data change (#1005)
mamonaki Feb 4, 2022
bba4b3d
feat: add promise.any (#1001)
fanerge Feb 4, 2022
0d7776a
feat: add translation of 9-regular-expressions/14-regexp-lookahead-lo…
xdsnet Feb 5, 2022
c98894b
feat: Translate tasks in 9-regular-expressions/11-regexp-groups (#969)
zzy2008 Feb 6, 2022
50ef1ec
feat: 更新运算符优先级 (#991)
hankaibo Feb 7, 2022
8b7888f
feat:update 9-regular-expressions/01-regexp-introduction/article.md (…
fanerge Feb 12, 2022
25d501a
feat: 更新 blob 的最新使用方法 (#1006)
buynao Feb 12, 2022
61a1492
feat: update translation
leviding Feb 12, 2022
a0f82f8
Merge branch 'master' of https://github.com/javascript-tutorial/zh.ja…
leviding Feb 12, 2022
e030f03
feat: update translation to 2022-02-03
leviding Feb 13, 2022
bd618e2
feat: update translation to 2022-02-03
leviding Feb 13, 2022
98d9a8f
fix: type error (#1010)
scarqin Feb 13, 2022
e66ff4b
feat: update translation to 2022-02-03
leviding Feb 13, 2022
c257f5c
Merge branch 'master' of https://github.com/javascript-tutorial/zh.ja…
leviding Feb 13, 2022
7934f61
feat: update translation to 2020-02-03
leviding Feb 16, 2022
275f9a7
fix: type error (#1012)
Dangdtx Feb 18, 2022
8041f7c
fix: 修改 promisify 一章中不通顺的地方 (#1011)
daolanfler Feb 18, 2022
c2c930a
fix: typo (#1014)
SK-415 Feb 20, 2022
d1089f6
fix: typo error (#1021)
ws30001235 Mar 6, 2022
8fac892
fix: typo (#1020)
moqimoqidea Mar 6, 2022
9b90f60
fix: typo (#1017)
meitingshuoguo Mar 6, 2022
d211949
fix: typo (#1015)
QiyanYu Mar 6, 2022
759c7d7
feat: update translation
leviding Mar 6, 2022
390f64a
fix: improper symbol (#1022)
YangFong Mar 10, 2022
b1e0c84
feat: 更新译文
leviding Apr 6, 2022
5581cab
fix: type error (#1028)
xingming2020 Apr 14, 2022
6468c76
fix: type error (#1024)
moqimoqidea Apr 14, 2022
84a716a
fix: missing letter (#1027)
YangFong Apr 14, 2022
4a20f23
feat: improve translation (#1029)
songhn233 Apr 14, 2022
9903203
fix: 因为否则 -> 因为如果允许的话 (#1023)
moqimoqidea Apr 14, 2022
384f1c9
fix: Clerical error (#1030)
Indekkusu545 Apr 14, 2022
960aa19
feat: update translation
leviding Apr 17, 2022
947f476
feat: update translation
leviding Apr 17, 2022
da604c6
fix(network/resume-upload): typo
songhn233 Apr 17, 2022
8b98554
feat: improve translation (#1032)
songhn233 Apr 17, 2022
ce665e1
feat: update translation
leviding Apr 17, 2022
7e35a07
Merge branch 'master' of https://github.com/javascript-tutorial/zh.ja…
leviding Apr 17, 2022
334e5eb
feat: update translation
leviding Apr 17, 2022
b72b52d
fix: translation (#1033)
leopardz Apr 18, 2022
18eb647
feat: 高级 -> 高阶
leviding Apr 19, 2022
265b25c
feat: 热键 -> 快捷键
leviding Apr 19, 2022
1434257
fix: class 和 module 使用单数形式
leviding Apr 19, 2022
0fd569a
fix: 旧 -> 老
leviding Apr 19, 2022
d509aa5
fix: typo
leviding Apr 19, 2022
9ace20b
feat: update translation of selection-range
leviding Apr 19, 2022
20f1775
feat: update translation
leviding Apr 19, 2022
fba4ee2
feat: update translation
leviding Apr 20, 2022
55575af
fix: typo (#1036)
ZhaoTim Apr 20, 2022
810c3d0
fix: typo (#1037)
ZhaoTim Apr 20, 2022
30ea683
feat: update translation of fetch-crossorigin
leviding Apr 20, 2022
df74d91
feat: update translation
leviding Apr 21, 2022
a692467
feat: update translation
leviding Apr 23, 2022
1abfa97
feat: add task in 7-animation/2-css-animations/4
leviding Apr 23, 2022
200106f
feat: update translation 2022-04
leviding Apr 23, 2022
250c5d8
feat: update translation
leviding Apr 24, 2022
b3eb916
feat: update translation
leviding Apr 25, 2022
eeaa6e1
feat: update translation of symbol
leviding Apr 27, 2022
49a00cf
feat: update translation
leviding May 1, 2022
ea97755
feat: update translation
leviding May 1, 2022
8fc0cc8
feat: update translation
leviding May 1, 2022
2372210
feat: update translation
leviding May 2, 2022
20600d6
fix: translation error (#1040)
RyanZephyr May 2, 2022
155accd
feat: fix translation of closur
leviding May 2, 2022
c73a29b
Merge branch 'master' of https://github.com/javascript-tutorial/zh.ja…
leviding May 2, 2022
a99690d
feat: 旧时 -> 老旧
leviding May 3, 2022
6ed78f0
feat: improve typo
leviding May 3, 2022
11984af
feat: update translation
leviding May 3, 2022
754de92
fix: typo
leviding May 3, 2022
ed0615b
fix: 增加代码的可读性 -> 提升代码的可读性
leviding May 11, 2022
f1f6aef
fix: translation in 2-ui/2-events/04-default-browser-action/article.m…
ZhaoTim May 11, 2022
c472a69
fix: — -> ——
leviding May 11, 2022
2da2721
fix: translation
leviding May 12, 2022
d4daf3b
fix: link in BigInt
leviding May 15, 2022
ebf5c28
fix: translation
leviding May 15, 2022
223ec5f
fix: typo
leviding May 15, 2022
90f9e11
fix: fix type in async & defer (#1046)
JunlinZhu-Tommy May 15, 2022
c58a058
fix: typo error (#1047)
CleverLiurx May 16, 2022
adb402f
fix: sample code (#1048)
jynxio May 16, 2022
968c31a
fix: translation
leviding May 16, 2022
38ee0ad
fix: translation
leviding May 16, 2022
31aebb5
fix: typo
leviding May 17, 2022
cb64b30
fix: translation
leviding May 17, 2022
902ce52
feat: 解构赋值翻译补充
leviding May 18, 2022
8adcdcd
fix: typo error
leviding May 19, 2022
01848b7
fix: typo error (#1052)
xlzy520 May 22, 2022
c44af61
feat: improve translation of 1-js/05-data-types/10-destructuring-assi…
stosSe4r May 22, 2022
bc17701
feat: improve translation for 1-js/05-data-types/11-date (#1051)
stosSe4r May 22, 2022
0799b1f
fix: typo
leviding May 24, 2022
52cde74
fix: 解构->结构 (#1054)
willenzheng May 27, 2022
a5df21c
fix: typo
leviding May 28, 2022
b07c073
fix: typo
leviding May 29, 2022
8ac88af
feat: update translation
leviding May 29, 2022
58e05e7
fix: typo (#1058)
ZhaoTim Jun 11, 2022
fc696f4
fix: translate error (#1056)
jynxio Jun 11, 2022
2c5dfe7
fix: translation error (#1060)
lxb007981 Jun 19, 2022
20c4bbf
fix: missing translation (#1059)
lxb007981 Jun 19, 2022
a60a913
fix: 空白 -> 空格
leviding Jun 30, 2022
2157629
feat: improve garbage-collection translation (#1067)
songhn233 Jun 30, 2022
6e4bc38
fix: translation of 1-js/05-data-types/08-weakmap-weakset (#1068)
printfinn Jun 30, 2022
1a3679c
fix: typo in 03-string (#1066)
printfinn Jul 1, 2022
6f024f8
fix: typo in 1-js/04-object-basics/07-optional-chaining/article.md (#…
wanghsiuyu Jul 1, 2022
d221e01
fix: typo in 1-js/11-async/02-promise-basics (#1074)
printfinn Jul 2, 2022
9a130ac
fix: 1-js/06-advanced-functions/05-global-object/ (#1072)
printfinn Jul 3, 2022
46d3a2a
fix: translation of 1-js/06-advanced-functions/03-closure/ (#1070)
printfinn Jul 3, 2022
3ea89b7
feat: imrpove translation in 1-js/13-modules/01-modules-intro/ (#1075)
printfinn Jul 3, 2022
f7117b9
feat: improve translation in 1-js/13-modules/02-import-export (#1076)
printfinn Jul 3, 2022
87de58c
feat: update translation (#1073)
printfinn Jul 8, 2022
3ad21c9
feat: update translation of 2-ui/1-document/07-modifying-document (#1…
printfinn Jul 9, 2022
ce5f0b9
feat: improve translation for 1-js/06-advanced-functions/02-rest-para…
stosSe4r Jul 11, 2022
14d5641
feat: update translation to 2022-07-13 (#1078)
leviding Jul 13, 2022
463e49a
fix: translation
leviding Jul 13, 2022
52cb243
fix: translation
leviding Jul 14, 2022
aeb905b
fix: typo
leviding Jul 14, 2022
11c1007
fix: translation
leviding Jul 14, 2022
3126b98
feat: improve translation
leviding Jul 14, 2022
b7ef96b
fix: typo
leviding Jul 14, 2022
0e9dbde
fix: translation
leviding Jul 14, 2022
2350471
fix: translation
leviding Jul 14, 2022
7c58065
fix: typo
leviding Jul 14, 2022
d9b5f36
fix: typo
leviding Jul 14, 2022
f6da8a9
fix: translation
leviding Jul 14, 2022
c7ebb6e
fix: translation
leviding Jul 14, 2022
44a8049
feat: improve translation
leviding Jul 14, 2022
9dba14a
feat: improve translation 5-network/04-fetch-abort/article.md (#1079)
yuhengshen Jul 15, 2022
ecf7427
fix: typo
leviding Jul 15, 2022
99ea681
fix: typo
leviding Jul 15, 2022
2f77d98
fix: translation
leviding Jul 15, 2022
41f1b3d
feat: 优化 str.slice 和 str.substring 描述
leviding Jul 15, 2022
2c17bab
feat: improve translation
leviding Jul 15, 2022
4d991d5
feat: 优化 arr.splice 翻译描述
leviding Jul 16, 2022
0c0dd9f
feat: 补充数组方法遗漏翻译
leviding Jul 17, 2022
09c06a1
fix: 优化翻译
leviding Jul 17, 2022
3d14a8e
feat: 优化数组方法章节翻译
leviding Jul 17, 2022
cee35ac
fix: 优化翻译
leviding Jul 18, 2022
6e14556
fix: 优化翻译
leviding Jul 18, 2022
f4ff4dc
fix: 优化翻译
leviding Jul 18, 2022
1067d0b
fix: 优化翻译
leviding Jul 18, 2022
c136e5d
fix: 翻译优化
leviding Jul 18, 2022
dcacca7
fix: typo
leviding Jul 18, 2022
53f38e6
fix: 优化翻译
leviding Jul 18, 2022
a0e730b
fix: 优化翻译
leviding Jul 18, 2022
444e07e
fix: 优化翻译
leviding Jul 18, 2022
7388eb9
fix: 优化翻译
leviding Jul 18, 2022
64447ed
fix: 补充题目翻译
leviding Jul 18, 2022
0502d6c
fix: 优化翻译
leviding Jul 19, 2022
c5b8b6a
fix: 优化翻译
leviding Jul 19, 2022
981812f
fix: 补充翻译
leviding Jul 19, 2022
becab03
fix: typo
leviding Jul 19, 2022
72e0a6b
fix: typo (#1082)
h3n4l Jul 20, 2022
0693ff9
fix: typo in 元素大小和滚动
leviding Jul 20, 2022
b31fd7d
fix: typo
leviding Jul 20, 2022
8fb474f
fix: typo
leviding Jul 21, 2022
86dec0d
feat: update translation
leviding Jul 21, 2022
3ae2e9e
fix: typo
leviding Jul 21, 2022
d59a6fe
fix: typo
leviding Jul 21, 2022
1986a2b
fix: typo
leviding Jul 21, 2022
291a79a
fix: typo
leviding Jul 21, 2022
8b7dc39
fix: 优化 try...catch... 章节的翻译
leviding Jul 21, 2022
86189ab
fix: 优化
leviding Jul 21, 2022
0be1735
fix: 优化
leviding Jul 21, 2022
774be15
fix: 优化翻译
leviding Jul 21, 2022
f291b6d
fix: 优化翻译
leviding Jul 22, 2022
85f9b57
feat: 优化 promise 章节翻译
leviding Jul 22, 2022
cb7bf5e
feat: update translation
leviding Jul 22, 2022
1da08e3
feat: 翻译优化
leviding Jul 22, 2022
af4e56c
feat: 优化 promise 章节翻译
leviding Jul 22, 2022
146c006
feat: 优化翻译
leviding Jul 22, 2022
0c9cddf
fix: 优化翻译
leviding Jul 22, 2022
7b5d135
fix: 优化翻译
leviding Jul 22, 2022
5f11b9c
fix: 优化翻译
leviding Jul 23, 2022
4a9d568
fix: 优化翻译
leviding Jul 23, 2022
742567d
fix: 优化翻译
leviding Jul 23, 2022
93ed383
fix: 优化翻译
leviding Jul 24, 2022
012fe08
fix: 优化翻译
leviding Jul 25, 2022
40bd1aa
fix: typo
leviding Jul 25, 2022
4201cfa
fix: typo
leviding Jul 25, 2022
7e60017
fix: typo
leviding Jul 25, 2022
a8d58dd
fix: typo
leviding Jul 26, 2022
f9634f7
fix: typo
leviding Jul 26, 2022
96ccd0a
fix: typo
leviding Jul 26, 2022
a6f2275
fix: typo
leviding Jul 26, 2022
a6d34cc
fix: typo
leviding Jul 26, 2022
f1de08f
fix: typo
leviding Jul 26, 2022
a3217ef
fix: typo
leviding Jul 27, 2022
1fc0c46
fix: typo
leviding Jul 27, 2022
65bd419
fix: typo
leviding Jul 27, 2022
b78c313
fix: typo
leviding Jul 27, 2022
73bd711
fix: typo
leviding Jul 27, 2022
af01e4a
fix: typo
leviding Jul 27, 2022
96a24c5
fix: typo
leviding Jul 28, 2022
b55b519
fix: typo
leviding Aug 1, 2022
415df08
fix: typo
leviding Aug 1, 2022
2a0e702
fix: typo
leviding Aug 3, 2022
a44f9f8
fix: typo
leviding Aug 4, 2022
8e2d752
fix: typo
leviding Aug 4, 2022
2334ad7
feat: update translation of Patterns and flags
leviding Aug 4, 2022
577804f
feat: update translation
leviding Aug 5, 2022
05133c9
feat: update translation
leviding Aug 5, 2022
1db3705
feat: update translation
leviding Aug 5, 2022
55fcb33
feat: update translation
leviding Aug 5, 2022
b3799b4
feat: update translation
leviding Aug 5, 2022
93c6ff2
feat: update translation
leviding Aug 5, 2022
4f2d8ff
fix: typo
leviding Aug 6, 2022
f95e317
fix: typo
leviding Aug 6, 2022
d934399
feat: update translation
leviding Aug 6, 2022
8448ea5
Merge branch 'master' of https://github.com/javascript-tutorial/zh.ja…
leviding Aug 6, 2022
3add71c
fix: typo
leviding Aug 6, 2022
60946b2
feat: update translation
leviding Aug 6, 2022
b57f2eb
feat: update translation
leviding Aug 6, 2022
95311c8
fix: typo
leviding Aug 6, 2022
04f861d
fix: typo
leviding Aug 6, 2022
919a1cd
feat: update translation
leviding Aug 6, 2022
806a7f9
:wqMerge branch 'master' of https://github.com/javascript-tutorial/zh…
leviding Aug 6, 2022
f7f031d
feat: update translation
leviding Aug 7, 2022
4490340
feat: update translation
leviding Aug 7, 2022
e8e8772
feat: update translation
leviding Aug 7, 2022
fe5e5f0
feat: update translation
leviding Aug 8, 2022
00faad0
fix; typo
leviding Aug 8, 2022
05ae386
fix: typo
leviding Aug 8, 2022
dde7207
feat: update translation
leviding Aug 9, 2022
4e9aaf4
Merge branch 'master' of https://github.com/javascript-tutorial/zh.ja…
leviding Aug 9, 2022
2a483a5
feat: update translation
leviding Aug 9, 2022
e641b4a
feat: update translation
leviding Aug 9, 2022
3bc6aa2
fix: typo
leviding Aug 9, 2022
374eaac
feat: update translation
leviding Aug 9, 2022
39bb1de
feat: update translation
leviding Aug 9, 2022
8a6f6c6
Merge branch 'master' of https://github.com/javascript-tutorial/zh.ja…
leviding Aug 9, 2022
5b823f3
fix: typo
leviding Aug 10, 2022
9b487d4
fix: typo error (#1087)
ryan-si Aug 13, 2022
ba6eefe
fix: typo
leviding Aug 15, 2022
d7b4550
fix: a factual mistake on space characters and whitespace characters …
arielherself Aug 15, 2022
b595bb9
fix: translation in 1-js/99-js-misc/01-proxy/article.md (#1089)
ZhaoTim Aug 22, 2022
677e69e
fix: typo (#1091)
zirnc Aug 22, 2022
7f69d1f
fix: typo (#1092)
SK-415 Aug 31, 2022
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
1 change: 1 addition & 0 deletions 1 .gitattributes
Original file line number Diff line number Diff line change
@@ -1 +1,2 @@
* text=auto eol=lf
*.svg binary
1 change: 1 addition & 0 deletions 1 .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -21,3 +21,4 @@ sftp-config.json
Thumbs.db


/svgs
106 changes: 54 additions & 52 deletions 106 1-js/01-getting-started/1-intro/article.md

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion 2 1-js/01-getting-started/1-intro/limitations.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
32 changes: 14 additions & 18 deletions 32 1-js/01-getting-started/2-manuals-specifications/article.md
Original file line number Diff line number Diff line change
@@ -1,41 +1,37 @@

# 手册与规范

这本书是一个**教程**。它旨在帮助你逐渐掌握 JavaScript 这门语言。但是一旦你已经熟悉了这门语言的基础知识,你就会需要其他资料。
这本书是一个 **教程**。它旨在帮助你由浅入深掌握 JavaScript 这门语言。但是,当你已经熟悉了这门语言的基础知识,你就会需要其他资料。

## 规范

**ECMA-262 规范**包含了大部分深入的、详细的、规范化的关于 JavaScript 的信息。这份规范明确地定义了这门语言。
**ECMA-262 规范** 包含了大部分深入的、详细的、规范化的关于 JavaScript 的信息。这份规范明确地定义了这门语言。

但正因其规范化,对于新手来说难以理解。所以如果你需要知道关于这门语言细节最权威的信息来源,这份规范就很适合你(去阅读)。但是它并不适合日常使用
但正因其规范化,对于新手来说难以理解。所以,如果你需要关于这门语言细节最权威的信息来源,这份规范就很适合你(去阅读)。但它并不适合日常使用

最新的规范草案在此 <https://tc39.es/ecma262/>。
每年都会发布一个新版本的规范。最新的规范草案请见 <https://tc39.es/ecma262/>。

想要知道最新最前沿且将要“标准化”的功能,请看这里的提案 <https://github.com/tc39/proposals>。
想了解最新最前沿的功能,包括“即将纳入规范的”(所谓的 "stage 3"),请看这里的提案 <https://github.com/tc39/proposals>。

当然,如果你正在做浏览器相关的开发工作,那么本教程的 [第二节](info:browser-environment) 涵盖了其他规范。
当然,如果你正在做浏览器相关的开发工作,那么本教程的 [第二部分](info:browser-environment) 涵盖了其他规范。

## 手册

- **MDN(Mozilla)JavaScript 索引**是一本带有用例和其他信息的手册。它是一个获取关于个别语言函数、方法等深入信息的很好的来源
- **MDN(Mozilla)JavaScript 索引** 是一个带有用例和其他信息的主要的手册。它是一个获取关于个别语言函数、方法等深入信息的很好的信息来源

你可以在 <https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference> 找到这本手册
你可以在 <https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference> 阅读它

虽然,利用互联网搜索通常是最好的选择。只需在查询时输入“MDN [关键字]”,例如 <https://google.com/search?q=MDN+parseInt> 搜索 `parseInt` 函数。

- **MSDN** —— 一本微软的手册,它包含大量的信息,包括 JavaScript(在里面经常被写成 JScript)。如果有人需要关于 Internet Explorer 的规范细节,最好去看:<http://msdn.microsoft.com/>。

我们还可以在使用互联网搜索时使用如 “RegExp MSDN” 或 “RegExp MSDN jscript” 这样的词条。
虽然,利用互联网搜索通常是最好的选择。只需在查询时输入“MDN [关键字]”,例如 <https://google.com/search?q=MDN+parseInt> 搜索 `parseInt` 函数。

## 兼容性表

JavaScript 还是一门还在发展中的语言,经常会添加一些新的功能
JavaScript 是一门还在发展中的语言,定期会添加一些新的功能

如果想要获得一些关于浏览器和其他引擎的兼容性信息,请看:
要查看它们在基于浏览器的引擎及其他引擎中的支持情况,请看:

- <http://caniuse.com> —— 每个功能都列有一个支持信息表格,例如想看哪个引擎支持现代加密(cryptography)函数:<http://caniuse.com/#feat=cryptography>。
- <https://caniuse.com> —— 每个功能的支持表,例如,查看哪个引擎支持现代加密(cryptography)函数:<https://caniuse.com/#feat=cryptography>。
- <https://kangax.github.io/compat-table> —— 一份列有语言功能以及引擎是否支持这些功能的表格。

所有这些资源在实际开发中都有用武之地,因为他们包含了语言细节以及它们被支持的程度等非常有价值的信息
所有这些资源在实际开发中都有用武之地,因为它们包含了有关语言细节,以及它们被支持的程度等非常有价值的信息

为了不要让你在真正需要深入了解特定功能的时候捉襟见肘,请记住它们(或者这一页)。
为了让你在真正需要深入了解特定功能的时候不会捉襟见肘,请记住它们(或者这一页)。
30 changes: 14 additions & 16 deletions 30 1-js/01-getting-started/3-code-editors/article.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,41 +6,39 @@

## IDE

[IDE](https://en.wikipedia.org/wiki/Integrated_development_environment)(集成开发环境)是用于管理整个项目具有强大功能的编辑器。顾名思义,它不仅仅是一个编辑器,而且还是个完整的开发环境
[IDE](https://en.wikipedia.org/wiki/Integrated_development_environment)(集成开发环境)是指用于管理整个项目的,具有强大功能的编辑器。顾名思义,它不仅仅是一个编辑器,而且还是个完整的“开发环境”

IDE 加载项目(通常包含很多文件),并且允许在不同文件之间切换。IDE 还提供基于整个项目(不仅仅是打开的文件)的自动补全功能,集成版本控制(如 [git](https://git-scm.com/))、集成测试环境等一些其他“项目层面”的东西。
IDE 加载项目(通常包含很多文件),并且允许在不同文件之间导航(navigation)。IDE 还提供基于整个项目(不仅仅是打开的文件)的自动补全功能,集成版本控制(如 [git](https://git-scm.com/))、集成测试环境等一些其他“项目层面”的东西。

如果你还没考虑好选哪一款 IDE,可以考虑下面两个:

- [Visual Studio Code](https://code.visualstudio.com/)(跨平台,免费)
- [WebStorm](http://www.jetbrains.com/webstorm/)(跨平台,收费)
- [Visual Studio Code](https://code.visualstudio.com/)(跨平台,免费)
- [WebStorm](https://www.jetbrains.com/webstorm/)(跨平台,收费)

对于 Windows 系统来说,也有个叫 Visual Studio 的 IDE,请不要跟 Visual Studio Code 混淆。Visual Studio 是一个收费的、强大的 Windows 专用编辑器,它十分适合于 .NET 开发。用它进行 JavaScript 开发也不错。Visual Studio 有个免费的版本 [Visual Studio Community](https://www.visualstudio.com/vs/community/)。
对于 Windows 系统来说,也有个叫 "Visual Studio" 的 IDE,请不要跟 "Visual Studio Code" 混淆。"Visual Studio" 是一个收费的、强大的 Windows 专用编辑器,它十分适合于 .NET 开发。用它进行 JavaScript 开发也不错。"Visual Studio" 有个免费的版本 [Visual Studio Community](https://www.visualstudio.com/vs/community/)。

大多数 IDE 是收费的,但是他们都可以试用。购买 IDE 的费用对于一名合格的程序员的薪水来说,肯定算不了什么,所以去选一个对你来说最好的吧。
很多 IDE 是收费的,但是它们都可以试用。购买 IDE 的费用对于一名合格的程序员的薪水来说,肯定算不了什么,所以去选一个对你来说最好的吧。

## 轻量编辑器

“轻量编辑器”没有 IDE 功能那么强大,但是他们一般很快、优雅而且简单。
“轻量编辑器”没有 IDE 功能那么强大,但是它们一般很快、优雅而且简单。

“轻量编辑器”主要用于立即打开编辑一个文件
“轻量编辑器”主要用于快速打开和编辑文件

“轻量编辑器”和 IDE 最大的区别是,IDE 一般在项目中使用,这也就意味着在开启的时候要加载很多数据,如果需要的话,在使用的过程中还会分析项目的结构等。如果我们只需要编辑一个文件,那么“轻量编辑器”会更快。
“轻量编辑器”和 "IDE" 最大的区别是,IDE 一般在项目中使用,这也就意味着在开启的时候要加载很多数据,如果需要的话还会分析项目的结构等。如果我们只需要编辑一个文件,那么“轻量编辑器”会更快。

实际上,“轻量编辑器”一般都有各种各样的插件,这些插件可以做目录级(directory-level)的语法分析和补全代码。所以“轻量编辑器”和 IDE 也没有严格的界限。
实际上,“轻量编辑器”一般都有各种各样的插件,这些插件可以做目录级(directory-level)的语法分析和代码补全。所以“轻量编辑器”和 IDE 也没有严格的界限。

下面是一些值得你关注的“轻量编辑器”:

- [Atom](https://atom.io/)(跨平台,免费)。
- [Visual Studio Code](https://code.visualstudio.com/)(跨平台,免费)。
- [Sublime Text](http://www.sublimetext.com)(跨平台,共享软件)。
- [Notepad++](https://notepad-plus-plus.org/)(Windows,免费)。
- [Vim](http://www.vim.org/) 和 [Emacs](https://www.gnu.org/software/emacs/) 很棒,前提是你知道怎么用
- [Vim](http://www.vim.org/) 和 [Emacs](https://www.gnu.org/software/emacs/) 也很棒,如果你知道怎么使用它们的话

## 不要争吵

上面列表中的编辑器都是我和我的朋友(他们都是我认为很优秀的开发人员)已经使用了很长时间并且很满意的。
上面列表中的编辑器都是我和我的朋友(他们都是我认为很优秀的开发者)已经使用了很长时间并且很满意的。

世上还有很多其他很好的编辑器,你可以选择一个你最喜欢的。
当然还有很多其他很好的编辑器,你可以选择一个你最喜欢的。

选择编辑器就像选择其他工具一样。要看你的项目,以及个人的习惯和喜好
选择编辑器就像选择其他工具一样,是很个人化的。具体取决于你的项目,习惯以及个人喜好
22 changes: 11 additions & 11 deletions 22 1-js/01-getting-started/4-devtools/article.md
Original file line number Diff line number Diff line change
@@ -1,63 +1,63 @@
# 开发者控制台

代码是很容易出现错误的。你也很可能犯错误...... 哦,我在说什么?只要你是人,你一定会犯错误(在写代码的时候),除非你是[机器人](https://en.wikipedia.org/wiki/Bender_(Futurama))。
代码是很容易出现错误的。你也很可能犯错误……哦,我在说什么?只要你是人,你 **一定** 会犯错误(在写代码的时候),除非你是 [机器人](https://en.wikipedia.org/wiki/Bender_(Futurama))。

但在浏览器中,默认情况下用户是看不到错误的。所以,如果脚本中有错误,我们看不到是什么错误,更不能够修复它。

为了发现错误并获得一些与脚本相关且有用的信息,浏览器内置了“开发者工具”。

通常,开发者倾向于使用 Chrome 或 Firefox 进行开发,因为它们有最好的开发者工具。一些其他的浏览器也提供开发者工具,有时还具有一些特殊的功能,通常它们都是在追赶 Chrome 或 Firefox。所以大多数人都有“最喜欢”的浏览器,当遇到某个浏览器独有的问题的时候,人们就会切换到其他的浏览器
通常,开发者倾向于使用 Chrome 或 Firefox 进行开发,因为它们有最好的开发者工具。一些其它的浏览器也提供开发者工具,有时还具有一些特殊的功能,通常它们都是在“追赶” Chrome 或 Firefox。所以大多数人都有“最喜欢”的浏览器,当遇到某个浏览器独有的问题的时候,人们就会切换到其它的浏览器

开发者工具很强大,功能丰富。首先,我们将学习如何打开它们,查找错误和运行 JavaScript 命令。

## Google Chrome

打开网页 [bug.html](bug.html)。

JavaScript 代码中有一个错误。一般的访问者看不到这个错误,所以让我们打开开发者工具看看吧。
在这个页面的 JavaScript 代码中有一个错误。一般的访问者看不到这个错误,所以让我们打开开发者工具看看吧。

按下 `key:F12` 键,如果你使用 Mac,试试 `key:Cmd+Opt+J`。

开发者工具会被打开,Console 标签页是默认的标签页
默认情况下,开发者工具会被在 Console 标签页中打开

就像这样:

![chrome](chrome.png)

具体什么样,要看你的 Chrome 版本。它随着时间一直在变,但是都很类似。

- 在这我们能看到红色的错误提示信息。这个场景中,脚本里有一个未知的 lalala 命令。
- 在这我们能看到红色的错误提示信息。这个场景中,脚本里有一个未知的 "lalala" 命令。
- 在右边,有个可点击的链接 `bug.html:12`。这个链接会链接到错误发生的行号。

在错误信息的下方,有个 `>` 标志。它代表“命令行”,在“命令行”中,我们可以输入 JavaScript 命令,按下 `key:Enter` 来执行。

现在,我们能看到错误就够了。稍后,在 <info:debugging-chrome> 章节中,我们会重新更加深入地讨论开发者工具
现在,我们能看到错误就够了。稍后,在 <info:debugging-chrome> 一节中,我们会重新更加深入地学习开发者工具

```smart header="多行输入"
通常,当我们向控制台输入一行代码后,按 `key:Enter`,这行代码就会立即执行。

如果想要插入多行代码,请按 `key:Shift+Enter` 来进行换行。这样就可以输入长片段的 JavaScript 代码了。
```

## Firefox、Edge 和其他浏览器
## Firefox、Edge 和其它浏览器

大多数其他的浏览器都是通过 `key:F12` 来打开开发者工具。
大多数其它的浏览器都是通过 `key:F12` 来打开开发者工具。

他们的外观和感觉都非常相似,一旦你学会了他们中的一个(可以先尝试 Chrome),其他的也就很快了
它们的外观和感觉都非常相似,一旦你学会了它们中的一个(可以先尝试 Chrome),其它的也就很快就可以熟悉了

## Safari

Safari(Mac 系统中的浏览器,Windows 和 Linux 系统不支持)有一点点不同。我们需要先开启“开发菜单”。

打开“偏好设置”,选择“高级”选项。选中最下方的那个选择框
打开“偏好设置”,选择“高级”选项。选中最下方的那个选择框

![safari](safari.png)

现在,我们通过 `key:Cmd+Opt+C` 就能打开或关闭控制台了。另外注意,有一个名字为“开发”的顶部菜单出现了。它有很多命令和选项。

## 总结

* 开发者工具允许我们查看错误、执行命令、检查变量等等
* 开发者工具允许我们查看错误、执行命令、检查变量等
* 在 Windows 系统中,可以通过 `key:F12` 开启开发者工具。Mac 系统下,Chrome 需要使用 `key:Cmd+Opt+J`,Safari 使用 `key:Cmd+Opt+C`(需要提前开启)。

现在我们的环境准备好了。下一章,我们将正式开始学习 JavaScript。
2 changes: 1 addition & 1 deletion 2 1-js/01-getting-started/4-devtools/bug.html
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@

<body>

There is an error in the script on this page.
本页面的脚本中有一个错误。
<script>
lalala
</script>
Expand Down
12 changes: 12 additions & 0 deletions 12 1-js/02-first-steps/01-hello-world/1-hello-alert/index.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
<!DOCTYPE html>
<html>

<body>

<script>
alert( "I'm JavaScript!" );
</script>

</body>

</html>
2 changes: 2 additions & 0 deletions 2 1-js/02-first-steps/01-hello-world/1-hello-alert/solution.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@

[html src="index.html"]
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
HTML 代码:
HTML 代码

[html src="index.html"]

Expand Down
Loading
Morty Proxy This is a proxified and sanitized view of the page, visit original site.