简介
# 什么是JavaScript
JavaScript 最初的目的是为了“赋予网页生命”。
这种编程语言我们称之为脚本。它们可以写在 HTML 中,在页面加载的时候会自动执行。 脚本作为纯文本存在和执行。它们不需要特殊的准备或编译即可运行。
浏览器中嵌入了 JavaScript 引擎,有时也称作 JavaScript 虚拟机。
- V8 —— Chrome 和 Opera 中的 JavaScript 引擎。
- SpiderMonkey —— Firefox 中的 JavaScript 引擎。
- ......还有其他一些代号,像“Trident”,“Chakra”用于不同版本的 IE,“ChakraCore”用于 Microsoft Edge,“Nitro”和“SquirrelFish”用于 Safari,等等。
# 浏览器中的 JavaScript 能做什么?
现代的 JavaScript 是一种“安全”语言。它不提供对内存或 CPU 的底层访问,因为它最初是为浏览
器创建的,不需要这些功能。
JavaScript 的能力很大程度上依赖于它执行的环境。例如:Node.js 允许 JavaScript 读写任意 文件、执行网络请求等。
浏览器中的 JavaScript 可以完成下面这些事:
- 在网页中插入新的 HTML,修改现有的网页内容和网页的样式。
- 响应用户的行为,响应鼠标的点击或移动、键盘的敲击。
- 向远程服务器发送网络请求,下载或上传文件(所谓 AJAX 和 COMET 技术)。
- 获取或修改 cookie,向访问者提出问题、发送消息。
- 记住客户端的数据(本地存储)。
# 浏览器中的 JavaScript 不能做什么?
- 网页中的 JavaScript 不能读、写、复制及执行用户磁盘上的文件或程序。它没有直接访问操作 系统的功能。
- 不同的浏览器标签页之间基本彼此不相关。有时候,也会有一些关系。例如,一个标签页通过 JavaScript 打开另外一个新的标签页。但即使在这种情况下,如果两个标签页打开的不是同一个 网站(域名、协议或者端口任一不相同的网站),他们都不能够相互通信。
- JavaScript 通过互联网可以轻松地和当前网页域名的服务器进行通讯。但是从其他网站/域名的 服务器中获取数据的能力是受限的。尽管这可以实现,但是需要来自远程服务器的明确协议 (在 HTTP 头中)。这也是为了用户的数据安全。
# 是什么使得 JavaScript 与众不同?
- 和HTML、CSS完全集成
- 使用简单工具完成简单任务
- 被所有主流浏览器支持,并默认开启
# 总结
- JavaScript 最开始是为浏览器设计的一门语言,但是现在也被用于很多其他的环境。
- 现在,JavaScript 是一门在浏览器中使用最广、并且能够很好集成 HTML/CSS 的语言。
- 有很多其他的语言可以被编译成 JavaScript,这些语言还提供了更多的功能。最好还是了解一下 这些语言,至少在掌握了 JavaScript 之后简单地看一下。
在Github上编辑此页 (opens new window)
上次更新: 3/22/2021, 3:47:15 AM