科普:JScript与JavaScript的区别
2013-11-26 DOCS ECMA javascript JScript
因为之前在客户端用HTA+JS做了开发尝试,对javascript深入了解的时候产生了疑惑遂查询了点资料,整理如下
javascript是一门脚本语言,又称”ECMA Script”,由ECMA组织制定语法标准。
javascript最早是网景公司(Netscape)开发的”JavaScript”,他是一种动态的基于浏览器的脚本语言。
一、JScript
很久以前微软退出IE浏览器的时候抄袭了网景公司的创意创造了”JScript”, 而且与”JavaScript”很像
当然是为了抢占市场,吸引开发人员顺利的转移到IE下来,但是后来的不断升级又产生了很大的差异。
二、ECMA
很长一段时间之内,开发人员因为不同的语法标准弄的很蛋疼,
不久之后ECMA诞生了,统一了JScript与JavaScript并制定了标准并规定在浏览器里面统一写法
<script language=”javascript”>***</script>
而写法上也主见变为全小写的javascript,所以javascript又被称为”ECMA Script”。
三、现代的javascript
javascript以及其他很多开发语言一样都有一个官方组织制定标准,
然后很多公司又有自己的具体实现,每个公司实现的程度不同,有的实现了标准里面规定的99%,而有的连95%都不到。
这就是为什么chrome下和IE下的javascript有些语法不同的原因。
目前你可以在 https://en.wikipedia.org/wiki/List_of_ECMAScript_engines 看到
很多公司对于javascript的实现的作品,他们都有自己的名字
比较出名的有google chrome的V8、微软的JScript等等
四、值得注意的是
这里的说的微软的JScript,已经不是最开始的“脚本语言JScript”,而是微软的ECMA Script的一个实现,他是一个javascript引擎,
那么“脚本语言JScript”是否仍存在呢?答案是肯定的,微软依然保留了对“脚本语言JScript”的支持,这是微软向下兼容的一贯作风。
在ASP的服务端:<script language=”jscript” runat=”server”>***</script>
在IE系列客户端:<script language=”jscript”>***</script>
至今依然有效,也已经按照现代的ECMA标准重新实现了
但很多时候已经不会被主动提及了,而是采用统一的 language=”javascript” 来声明。
javascript最开始是用在客户端的一门脚本语言,但是现在逐步的向服务端在发展
支持*nix环境的nodejs就是基于google V8引擎实现的一个服务端javascript引擎
windows环境下服务端的javascript也就是jscript(ASP)
—EOF—
以上内容系查询资料之后得到的一个大概理解,错误之处欢迎指正。
暂无评论