66
77** JavaScript** 最初的目的是为了“** 赋予网页生命** ”。
88
9- 这种编程语言我们称之为** 脚本** 。它们可以写在 HTML 中,在页面加载的时候会自动执行。
9+ 这种编程语言我们称之为 ** 脚本** 。它们可以写在 HTML 中,在页面加载的时候会自动执行。
1010
1111脚本作为纯文本存在和执行。它们不需要特殊的准备或编译即可运行。
1212
@@ -26,7 +26,7 @@ JavaScript 在刚诞生的时候,它的名字叫 “LiveScript”。但是因
2626
2727- [ V8] ( https://en.wikipedia.org/wiki/V8_(JavaScript_engine) ) —— Chrome 和 Opera 中的 JavaScript 引擎。
2828- [ SpiderMonkey] ( https://en.wikipedia.org/wiki/SpiderMonkey ) —— Firefox 中的 JavaScript 引擎。
29- - ……还有其他一些代号,像“ Trident”,“ Chakra” 用于不同版本的 IE,“ ChakraCore” 用于 Microsoft Edge,“ Nitro”和“ SquirrelFish” 用于 Safari,等等。
29+ - ……还有其他一些代号,像 " Trident"," Chakra" 用于不同版本的 IE," ChakraCore" 用于 Microsoft Edge," Nitro" 和 " SquirrelFish" 用于 Safari,等等。
3030
3131上面这些名称很容易记忆,因为经常出现在网上开发者的文章中。我们也会用到这些名称。例如:某个新的功能,如果“JavaScript 引擎 V8 是支持的”,那么我们可以认为这个功能大概能在 Chrome 和 Opera 中正常运行。
3232
@@ -67,10 +67,10 @@ JavaScript 的能力很大程度上依赖于它执行的环境。例如:[Node.
6767
6868 现代浏览器允许 JavaScript 做一些文件相关的操作,但是这个操作是受到限制的。仅当用户做出特定的行为,JavaScript 才能操作这个文件。例如,把文件“拖”到浏览器中,或者通过 ` <input> ` 标签选择文件。
6969
70- JavaScript 有很多方式和照相机/麦克风或者其他设备进行交互,但是这些都需要提前获得用户的授权许可。所以,启用了 JavaScript 的网页应该不会偷偷地启动网络摄像头观察你,并把你的信息发送到[ 美国国家安全局] ( https://en.wikipedia.org/wiki/National_Security_Agency ) 。
70+ JavaScript 有很多方式和照相机/麦克风或者其他设备进行交互,但是这些都需要提前获得用户的授权许可。所以,启用了 JavaScript 的网页应该不会偷偷地启动网络摄像头观察你,并把你的信息发送到 [ 美国国家安全局] ( https://en.wikipedia.org/wiki/National_Security_Agency ) 。
7171- 不同的浏览器标签页之间基本彼此不相关。有时候,也会有一些关系。例如,一个标签页通过 JavaScript 打开另外一个新的标签页。但即使在这种情况下,如果两个标签页打开的不是同一个网站(域名、协议或者端口任一不相同的网站),他们都不能够相互通信。
7272
73- 这就是“同源策略”。为了解决“同源策略”问题,两个标签页必须** 都** 包含一些处理这个问题的特殊的 JavaScript 代码,并均允许数据交换,这样才能够实现两个同源标签页的数据交换。本教程会讲到这部分相关的知识。
73+ 这就是“同源策略”。为了解决“同源策略”问题,两个标签页必须 ** 都** 包含一些处理这个问题的特殊的 JavaScript 代码,并均允许数据交换,这样才能够实现两个同源标签页的数据交换。本教程会讲到这部分相关的知识。
7474
7575 这个限制也是为了用户的信息安全。例如,用户打开的 ` http://anysite.com ` 网页的 JavaScript 肯定不能访问 ` http://gmail.com ` (另外一个标签页打开的网页)也不能从那里窃取信息。
7676- JavaScript 通过互联网可以轻松地和当前网页域名的服务器进行通讯。但是从其他网站/域名的服务器中获取数据的能力是受限的。尽管这可以实现,但是需要来自远程服务器的明确协议(在 HTTP header 中)。这也是为了用户的数据安全。
@@ -100,7 +100,7 @@ JavaScript 的能力很大程度上依赖于它执行的环境。例如:[Node.
100100
101101这是正常的,因为每个人的项目和需求都不一样。
102102
103- 所以,最近出现了很多不同的语言,这些语言在浏览器中执行之前,都会被** 编译** (转化)成 JavaScript。
103+ 所以,最近出现了很多不同的语言,这些语言在浏览器中执行之前,都会被 ** 编译** (转化)成 JavaScript。
104104
105105现代化的工具使得编译速度非常快速且透明,实际上允许开发人员使用另一种语言编写代码并将其自动转换为 JavaScript。
106106
0 commit comments