1.关于JavaScript的介绍

2017-06-20  本文已影响0人  饥人谷_zhangfan

初识JavaScript

译者:张帆

JavaScript有何特别之处?我们可以用它来实现什么?有哪些其他技术也能发挥很好它的作用?,让我们来一探究竟。

JavaScript是什么?

JavaScript一开始设计出来的初衷是“使网页更加生动”。
JavaScript里的程序称为脚本,脚本可以写在HTML里,并且当页面加载时会自动执行。脚本被提供并且可以作为纯文本来执行。它们不需要一个特别的准备或者编译器来运行,从这方面说,JavaScript与另一个叫Java的编程语言有着巨大的差异。

为什么会被称为JavaScript?

当JavaScript最初被设计出来的时候, 有另一个名字:“LiveScript”。但当时Java十分流行,因此,将JavaScript这一新的语言定位为Java的“小兄弟”将会有助于其发展。
随着JavaScript的不断发展,它已经变成一个完全独立的编程语言,它有自己的 ECMAScript文档,而且和java再无任何关系了。

如今,JavaScript不仅可以在浏览器里运行,而且还可以在服务器端运行,或者说只要有JavaScript引擎,任何设备都可以运行JavaScript。浏览器中都内嵌了一个JavaScript引擎,有时候我们称它为“JavaScript虚拟机”。
不同的引擎会有不同的内核名称,比如:

以上内容很好记,因为我们经常在网络开发者的文章中可以看到它们,而且我们也会用到这些,比如:V8支持X功能,那么很可能这个功能能够在Chrome和Opera中应用。

JavaScript引擎是如何工作的?

JavaScript引擎工作细节很复杂,但基础原理很简单。

  1. 脚本以纯文本的形式被编写和分发(可以通过“javascript minifiers”工具进行压缩和优化)
  2. JavaScript引擎(如果是浏览器的话,指内嵌引擎)会先解析脚本,然后编译成计算机语言
  3. 最后运行脚本,而且速度很快

引擎在执行过程的每个阶段都会进行优化,它甚至可以在运行的时候监控脚本,分析经过它的数据,并根据这些知识对机器代码进行优化。这就是代码运行如此之快的原因。

浏览器内嵌的JavaScript能做什么?

如今的JavaScript是一个“安全”的编程语言,它不提供对内存和CPU的低级访问,因为它一开始就是为那些并不需要这些的浏览器设计的。它的能力很大程度上依赖于运行JavaScript的环境。例如,Node.JS支持JavaScript读取/写入任意文件,执行网络请求等等。浏览器的JavaScript能够处理与网页操作,和用户以及服务器后端交互的任何事情。
比如,浏览器的JavaScript可以处理:

浏览器内嵌的JavaScript还不能做什么?

浏览器中的JavaScript能力因考虑用户的安全原因而受到限制,它目的是防止恶意网页访问私人信息或损害用户的数据。
比如以下受限制的例子:


如果JavaScript在浏览器之外比如服务器端运行,这么多限制就不存在了,现代浏览器允许安装扩展插件,这样可能会获取更多的权限。

什么使得JavaScript如此不同?

关于JavaScript,至少有三件很棒的事情:

以上,只存在JavaScript中并没有其他的浏览器技术。
这就是JavaScript如此不同的原因,这也是为什么JavaScript是目前创建浏览器交互界面使用最广泛的工具。
当我们准备学习一项新技术的时候,最好去观望一下它的未来,所以,让我们来看看包括新语言和浏览器能力在内的现代趋势。

JavaScript之外的语言

JavaScript的语法并不符合每个人的需求,不同的人希望有不同的功能细节。这很正常,因为项目和需求对每个人来说都是不同的。所以,最近有很多新的语言如雨后春笋般冒出来,浏览器在运行他们之前会先将它们转化成JavaScript。
现代工具能够使这种转化非常快捷和透明,这实际上允许开发者使用另一种编程语言去编码,然后它会自动进行转化。
这里是一些类似于这种语言的例子:

还有更多其他的语言,当然,即使我们使用其中一种语言,我们也应该了解JavaScript来真正理解我们在做什么。

总结

上一篇 下一篇

猜你喜欢

热点阅读