`

那些JavaScript周围的名词

阅读更多
初涉JavaScript的时候,经常会听到ECMAScript, NodeJS,Webkit,V8,PhantomJS什么的,到底这些都是些什么东西,有什么差别呢,在开发中,他们各自的角色又是什么?

ECMAScript
ECMAScript是一种由Ecma国际(前身为欧洲计算机制造商协会)通过ECMA-262标准化的脚本程序设计语言。凡是兼容ECMA标准的脚本语言就可以称之为ECMAScript,而JavaScript就是其中之一,另外还有微软的JScript等等。其诞生是多个大厂博弈的结果,网景公司在浏览器中引入JavaScript之后,微软等各大公司为了技术优势,都开发了自己的客户端脚本语言,最后为了统一规格,由欧洲计算机制造商协会出面协调,Netscape、Sun、微软、Borland组成的工作组确定了统一标准ECMAScript。

目前主流浏览器都支持了ECMAScript 5.1标准,而ECMAScript 6正在拟定中....,经过2次跳票之后,预计2015年6月发布。

尽管ECMAScript 是一个重要的标准,但它并不是JavaScript 唯一的部分,当然,也不是唯一被标准化的部分。根据ECMA-262的描述“ECMAScript可以为不同种类的宿主环境提供核心的脚本编程能力,因此核心的脚本语言是与任何特定的宿主环境分开进行规定的... .. ”因此,简单地说,ECMAScript 描述了以下内容: 语法 类型 语句 关键字 保留字 运算符 对象

JavaScript
前面提到JavaScript是ECMAScript标准的一个实现,但是除了ECMAScript定义的功能外,其还扩展了一些其它功能。因为JavaScript从诞生之初的目的就是生存于浏览器中,为HTML网页提供动态功能,直到NodeJS创造性的把其运用到了服务器端(这部分后面再聊)。所以一个完整的浏览器端的JavaScript实现是由3个不同部分组成的:
JavaScript是一种解释性脚本语言(代码不进行预编译),直接通过解释器运行,这个解释器是浏览器的一部分,我们称之为JavaScript引擎。

JavaScript引擎
JavaScript引擎是一个专门处理JavaScript脚本的软件程序,也有称之为JavaScript虚拟机的。一般会附带在网页浏览器中. 各个浏览器都有自己的引擎。具体可以到这篇文章中去查看:http://jser.in/%E6%B1%87%E6%80%BB%E5%90%84%E6%B5%8F%E8%A7%88%E5%99%A8%E6%A0%B8%E5%BF%83js%E5%BC%95%E6%93%8E%E5%8F%8A%E6%8E%92%E7%89%88%E5%BC%95%E6%93%8E%E6%B7%B1%E7%A9%B6-295.shtml
因此,我们平时提到的V8就是Chrome浏览器使用的JavaScript引擎。因为其高性能,NodeJS也是基于该引擎实现,因此听到的概率高于其它引擎。

排版引擎(浏览器内核)
WebKit是一个排版引擎,主要设计是用来让网页浏览器绘制网页。WebKit目前作为Apple Safari及Google Chrome(直到版本27,后续的版本已切换到自家的Blink)等浏览器的主要引擎。浏览器的排版引擎(Layout Engine或Rendering Engine)也被称为浏览器内核、页面渲染引擎或样版引擎,它负责获取网页的内容(HTML、XML、图像等等)、整理消息(例如加入CSS等),以及计算网页的显示方式,然后会输出至显示器或打印机。所有网页浏览器、电子邮件客户端以及其它需要根据表示性的标记语言(Presentational markup)来显示内容的应用程序都需要排版引擎。即其负责了整个浏览器的工作。有兴趣的可以看一下这篇文章《开发者需要了解的WebKit》:http://www.infoq.com/cn/articles/webkit-for-developers, 如果有时间,再看看浏览器是如何工作的就更有收获了:http://www.html5rocks.com/zh/tutorials/internals/howbrowserswork/,和 http://coolshell.cn/articles/9666.html

而PhantomJS是一个无界面的WebKit,这样程序员就可以在命令行中模拟所有浏览器操作了,尤其是在做自动化测试时,无界面的WebKit运行速度会快很多,但是注意,因为其是基于WebKit的,所以并不能保证所有的浏览器下的行为都和测试的一致。

参考文献:
http://zh.wikipedia.org/wiki/ECMAScript http://zh.wikipedia.org/wiki/JavaScript http://blog.sina.com.cn/s/blog_636415010100z3ws.html
http://blog.csdn.net/teamossp/article/details/12715315
http://zh.wikipedia.org/wiki/JavaScript%E5%BC%95%E6%93%8E
2
1
分享到:
评论

相关推荐

    JavaScript标准参考教程

    《JavaScript标准参考教程》是一本全面介绍JavaScript编程语言的书籍,其内容涵盖了从基础语法、数据类型、函数到高级特性如数组操作、错误处理、编程风格等各个方面的知识。阮一峰作为作者,将多年的经验和网络资料...

    深入理解JavaScript系列

    本书是一本全面、深入介绍JavaScript语言的学习指南。本书共分四个部分,第1部分帮助读者快速入手,掌握基本的JavaScript编程要点;第2部分介绍JavaScript的发展和技术背景;第3部分深入探索JavaScript,介绍了语法...

    JavaScript权威指南(JavaScript犀牛书一本)

    《JavaScript权威指南》是JavaScript编程领域的一本经典之作,由著名技术作家David Flanagan撰写,被誉为"JavaScript犀牛书"。这本书深入浅出地讲解了JavaScript语言的核心概念、语法特性和高级特性,对于想要全面...

    JavaScript文档

    本资源包包含了多个关于JavaScript的重要参考资料,包括“JavaScript权威指南(英文版).chm”、“javascript5.5.chm”、“css2gb.chm”以及“JavaScript对象与数组参考大全 .chm”。 首先,我们来看“JavaScript权威...

    VS2015安装证书,JavaScript_ProjectSystem.msi,JavaScript_LanguageService.msi

    在这个场景中,我们关注的是VS2015的安装过程中涉及到的证书问题以及两个特定的组件:JavaScript_ProjectSystem.msi和JavaScript_LanguageService.msi。 首先,关于“VS2015安装证书”,这通常是指安装过程中需要...

    JavaScript函数(源代码)

    JavaScript函数(源代码)JavaScript函数(源代码)JavaScript函数(源代码)JavaScript函数(源代码)JavaScript函数(源代码)JavaScript函数(源代码)JavaScript函数(源代码)JavaScript函数(源代码)...

    .NET的Javascript运行库Javascript.Net

    这个项目对于那些需要在服务器端或者桌面应用中利用JavaScript的强大功能,而又不希望引入完整的浏览器环境(如ChakraCore或JScript.NET)的开发者来说,是一个非常实用的工具。 JavaScript.Net的核心功能在于提供...

    JavaScript课堂习题答案

    JavaScript课堂习题答案JavaScript课堂习题答案JavaScript课堂习题答案JavaScript课堂习题答案JavaScript课堂习题答案JavaScript课堂习题答案JavaScript课堂习题答案JavaScript课堂习题答案JavaScript课堂习题答案...

    《JavaScript》.pdf

    Web前端学习资料,Javascript学习

    [JavaScript权威指南(第6版)]

    《JavaScript权威指南(第6版)》主要讲述的内容涵盖JavaScript语言本身,以及Web浏览器所实现的JavaScript API。本书第6版涵盖了HTML5和ECMAScript 5,很多章节完全重写,增加了当今Web开发的最佳实践的内容,新增...

    javascript试题(附答案)

    JavaScript是一种广泛应用于网页和网络应用的编程语言,尤其在客户端脚本方面扮演着核心角色。这份"javascript试题(附答案)"是为初学者设计的,旨在帮助他们更好地理解和掌握JavaScript的基础知识。 一、变量与数据...

    现代JavaScript教程

    现代JavaScript教程是一个全面的学习资源,旨在帮助开发者深入理解JavaScript这一重要的编程语言。JavaScript,作为Web开发的核心技术之一,被广泛用于构建交互式的网页和应用程序。本教程覆盖了从基础概念到高级...

    深入理解JavaScript系列(.chm)

    深入理解JavaScript系列(1):编写高质量JavaScript代码的基本要点 深入理解JavaScript系列(2):揭秘命名函数表达式 深入理解JavaScript系列(3):全面解析Module模式 深入理解JavaScript系列(4):立即调用...

    org.mozilla.javascript-1.7.2.jar

    《深入解析org.mozilla.javascript-1.7.2.jar》 在Java开发中,JavaScript引擎的使用日益广泛,其中Mozilla的Rhino引擎是备受开发者青睐的一款。本文将围绕"org.mozilla.javascript-1.7.2.jar"这个资源包,详细讲解...

    JavaScript权威指南(第6版).JavaScript:The.Definitive.Guide

    中文名: JavaScript权威指南 (第6版) 原名: JavaScript: The Definitive Guide: Activate Your Web Pages, 6th edition 作者: David Flanagan 版本: 英文文字版-pdf/EPUB + 完整书中源代码 出版社: O'Reilly 书号: ...

    javascript

    JavaScript是一种广泛用于网页开发的脚本语言,它是实现Web前端交互功能的核心技术之一。在给定的文件内容中,我们可以提取到关于JavaScript的多个知识点: 1. JavaScript的变量类型:JavaScript中主要有几种基本的...

    JavaScript征途

    《JavaScript征途》是一本学习JavaScript语言的权威书籍,在遵循语言学习的特殊规律基础上精心选材,力争做到统筹、有序,在结构上体现系统性和完整性。同时还重点挖掘JavaScript基于对象的开发精髓及函数式编程两个...

    JavaScript基础教程(pdf版)

    本教程旨在为初学者提供一个全面的JavaScript基础知识学习平台,帮助理解并掌握这种强大的脚本语言。 《JavaScript基础教程》首先会介绍JavaScript的历史背景和基本语法,包括变量、数据类型、操作符、流程控制...

    JavaScript犀牛书电子版

    《JavaScript犀牛书》是JavaScript编程领域的一本经典著作,被广大开发者誉为"骨灰级"的学习资料,尤其适合初学者入门。这本书全面而深入地介绍了JavaScript语言的核心概念、语法以及实际应用,旨在帮助读者建立起...

Global site tag (gtag.js) - Google Analytics