我一直想知道到底是什么?!?是 JScript 和 JavaScript 的区别。
12 回答
真正的 ECMAScript 只是不同的名称。John Resig 有一个很好的解释。
以下是完整版细分:
- IE 6-7 支持 JScript 5(相当于 ECMAScript 3、JavaScript 1.5)
- IE 8 支持 JScript 6(相当于 ECMAScript 3、JavaScript 1.5 - 更多错误修复超过 JScript 5)
- Firefox 1.0 支持 JavaScript 1.5(ECMAScript 3 等效)
- Firefox 1.5 支持 JavaScript 1.6(1.5 + Array Extras + E4X + misc.)
- Firefox 2.0 支持 JavaScript 1.7 (1.6 + Generator + Iterators + let + misc.)
- Firefox 3.0 支持 JavaScript 1.8(1.7 + Generator Expressions + Expression Closures + misc.)
- Firefox 的下一个版本将支持 JavaScript 1.9(1.8 + 待定)
- Opera 支持相当于 ECMAScript 3 + Getters and Setters + misc 的语言。
- Safari 支持相当于 ECMAScript 3 + Getters and Setters + misc 的语言。
据我所知,有两点:
- ActiveXObject 构造函数
- 成语 f(x) = y,大致等价于 f[x] = y。
来自维基百科:http ://en.wikipedia.org/wiki/Jscript
JScript 是 ECMAScript 脚本语言规范的 Microsoft 方言。
JavaScript(ECMA 规范的 Netscape/Mozilla 实现)、JScript 和 ECMAScript 是非常相似的语言。事实上,“JavaScript”这个名称经常被用来指代 ECMAScript 或 JScript。
Microsoft 使用名称 JScript 来实现它以避免商标问题(JavaScript是Oracle Corporation的商标)。
JScript 是 Microsoft 对 ECMAScript 规范的实现。JavaScript 是该规范的 Mozilla 实现。
Javascript 语言首先来自 Netscape。
微软对 Javascript 进行了逆向工程并将其称为 JScript 以避免与 Sun 的商标问题。(Netscape 和 Sun 当时是合作伙伴,所以这不是问题)
语言是相同的,都是 ECMA 脚本的方言,即事后标准。
尽管语言相同,但由于 JScript 在 Internet Explorer 中运行,它可以访问浏览器公开的不同对象(例如 ActiveXObject)
JScript 是 Javascript 的 Microsoft 实现
根据这篇文章:
JavaScript是由 Netscape Communications 开发的一种脚本语言,用于开发客户端和服务器 Internet 应用程序。Netscape Navigator 旨在解释嵌入到网页中的 JavaScript。JavaScript 独立于 Sun Microsystem 的 Java 语言。
Microsoft JScript是 Netscape 的 JavaScript 的开放式实现。JScript 是一种高性能脚本语言,旨在为万维网创建活跃的在线内容。JScript 允许开发人员链接和自动化网页中的各种对象,包括 ActiveX 控件和 Java 程序。Microsoft Internet Explorer 旨在解释嵌入到网页中的 JScript。
很久以前,所有浏览器提供商都在为他们的浏览器制作 JavaScript 引擎,只有他们和上帝知道其中发生了什么。美好的一天,ECMA 国际来了,说:让我们根据共同的标准来做引擎,让我们做一些通用的东西,让生活更轻松有趣,他们制定了这个标准。由于所有浏览器提供商都基于 ECMAScript 核心(标准)制作他们的 JavaScript 引擎。
例如,谷歌浏览器使用 V8 引擎,这是开源的。您可以下载它并查看 C++ 程序如何将 JavaScript 的“打印”命令转换为机器代码。
Internet Explorer 在他们的浏览器中使用 JScript (Chakra) 引擎,而其他浏览器也这样做,并且它们都使用通用内核。
有一些代码差异需要注意。
不支持 subtr 的第一个负参数,例如在 Javascript 中:"string".substr(-1)
返回“g”,而在 JScript 中:"string".substr(-1)
返回“string”
可以"string"[0]
在 Javascript 中获取“s”,但 JScript 不支持这样的构造。(实际上,只有现代浏览器似乎支持该"string"[0]
构造。
维基百科对这些差异有这样的说法。
一般来说,JScript 是一种 ActiveX 脚本语言,可能会被非 IE 浏览器解释为 JavaScript。
Jscript 是一种类似于 C# 的 .NET 语言,具有相同的功能并可以访问所有 .NET 功能。
JavaScript 在 ASP Classic 服务器上运行。使用经典 ASP 运行与客户端相同的 JavaScript(不包括 HTML5 功能)。对于我的大部分代码,我只有一组这样的代码。
当我需要经典 ASP 中没有的图像和二进制文件函数(以及许多其他函数)时,我会运行 .ASPX JScript。此代码对于服务器来说是唯一的,但非常强大。
JScript是Microsoft的JavaScript等价物。
Java 是Oracle产品,曾经是Sun产品。
甲骨文收购了Sun。
JavaScript + 微软 = JScript