JavaScript&JavaScript引擎&ECMAScript的关系

刚开始学习JS时,完全搞不清楚JavaScript和ECMAScript的关系,接下来就写下慢慢理解的历程。

 

先引用一段ECMAScript的维基百科解释:

ECMAScript is the scripting language standardized by Ecma International in the ECMA-262 specification and ISO/IEC 16262. The language is widely used for client-side scripting on the Web, in the form of several well-known implementations such asJavaScriptJScript and ActionScript.

首先,ECMAScript是一个标准(standardized ),然后被广泛应用于浏览器的客户端脚本,它的表现形式有JavaScript、JScript和ActionScript。

简单举例:

  var a = 1+2;

这是一句JS代码,需要JavaScript引擎去解释,这里面有var关键字,有=,+号标示符,和以;结束一行代码,JavaScript引擎就需要一些规则来读懂JS代码,而这些规则就是ECMAScript定义的。

ECMAScript的标准也是经过不断的发展和不断完善的,会在新的标准中添加一些新的功能,比如在即将发布的ECMAScript6中会增加Class(类)等;

 

JavaScript引擎:

JavaScript引擎就是读懂JavaScript代码,并运行JavaScript代码得出结果。

对于C#、Java、C++、C等静态语言,处理以上事情叫编译器(Compiler),而对于JavaScript这种动态语言,称之为解释器(Interpreter)。编译器是将源代码编译为另一种代码或中间语言(IL等),然后运行结果,而解释器是直接对源代码解析并运行得出结果。

JavaScript引擎本省也是程序,由代码编写而成,比如Google浏览器的JS引擎V8就是由C/C++编写而成的。

 

JavaScript引擎和浏览器:

JavaScript引擎是浏览器的重要组成部分,一般情况下JavaScript引擎都是由浏览器厂商自己开发的(不包括国产浏览器)

WebKit , Safari浏览器          ->SquirrelFish Extreme

Firefox                                    àTraceMonkey引擎

Google Chrome                     àV8引擎,(C++

Opera                                   -> Carakan

 Mozilla                          ->SpiderMonkey(C语言)

 Mozilla                                  à Rhino( Java)

Mozilla                          ->JaegerMonkey

国产的浏览器一般都是借用的IE或者Google的内核,比如

搜狗浏览器:FireFox

360浏览器好像是IE的JS引擎。

 

转载于:https://www.cnblogs.com/The-SEA/p/4351881.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值