JavaScript和JScript有什么区别?


117

我一直想知道为什么?是JScript和JavaScript之间的区别。


我确信已经指出了它,但是IE,您不能使用const关键字来声明变量:const MY_CONSTANT = 10;
dplante

Answers:


82

真正的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 +迭代器+ let + misc。)
  • Firefox 3.0支持JavaScript 1.8(1.7 +生成器表达式+表达式闭包+其他)。
  • Firefox的下一版本将支持JavaScript 1.9(1.8 +待定)
  • Opera支持的语言等效于ECMAScript 3 + Getters和Setters + misc。
  • Safari支持与ECMAScript 3 + Getters和Setters + misc等效的语言。

15
错了 JScript支持JavaScript中不存在的一些语法功能,包括f(x) = y。有关更多信息,请参见此问题
Asad Saeeduddin

4
@Malachi我不需要。帕特里克的答案是正确的。
Asad Saeeduddin

38

据我所知,两件事:

  1. ActiveXObject构造函数
  2. 成语f(x)= y,大约等于f [x] = y。

5
这个f(x) = y成语最让我讨厌!为什么,哦,为什么他们不随便走呢f[x] = y……
Ates Goral

2
MS需要在这个时代添加他们的邮票。这就是您知道其优点的方式。
cchamberlain

21

摘自Wikipedia:http//en.wikipedia.org/wiki/Jscript

JScript是ECMAScript脚本语言规范的Microsoft方言。

JavaScript(ECMA规范的Netscape / Mozilla实现),JScript和ECMAScript是非常相似的语言。实际上,名称“ JavaScript”通常用于表示ECMAScript或JScript。

Microsoft为其实现使用名称JScript来避免商标问题(JavaScriptOracle Corporation的商标)。


7
这根本无法回答问题。问题是:“ JavaScript和JScript之间有什么区别”。将正确的答案是根据同一事物的几个叠架埋葬。
Asad Saeeduddin


7

Java语言是Netscape的第一语言。

微软对Javascript进行了反向工程,并命名为JScript以避免Sun的商标问题。(Netscape和Sun当时是合作伙伴,因此这不是一个大问题)

语言是相同的,两者都是事后标准ECMA脚本的方言。

尽管语言是相同的,但是由于JScript在Internet Explorer中运行,因此它可以访问浏览器公开的不同对象(例如ActiveXObject)


10
正如另一篇文章中所概述的,两种语言都没有真正相同。
EFraim


4

根据这篇文章:

  • JavaScript是Netscape Communications开发的一种脚本语言,旨在开发客户端和服务器Internet应用程序。Netscape Navigator旨在解释嵌入到网页中的JavaScript。JavaScript独立于Sun Microsystem的Java语言。

  • Microsoft JScript是Netscape JavaScript的开放实现。JScript是一种高性能的脚本语言,旨在为万维网创建活动的在线内容。JScript允许开发人员链接和自动化Web页面中的各种对象,包括ActiveX控件和Java程序。Microsoft Internet Explorer旨在解释嵌入到网页中的JScript。


2
@phrj:这是“打开”的“矮胖”定义。AFAIK,意思是“正交”。
Shog9年

7
在V8之前的时代将JScript称为“高性能”使人们意识到我们已经走了多远。
雷·托尔

6
第二个列表项看起来像广告材料-“开放式实现”实际上意味着“您必须持开放态度才能接受它”,而“高性能”则意味着“必须在高性能机器上运行”。
卡米洛·马丁

4

很久以前,所有浏览器提供商都为他们的浏览器制作JavaScript引擎,只有他们和上帝知道里面发生了什么。美好的一天,ECMA国际组织来了,他说:让我们基于通用标准制造引擎,让我们通用一些东西,使生活变得更加轻松和有趣,然后他们制定了这一标准。由于所有浏览器提供商都基于ECMAScript核心(标准)来创建其JavaScript引擎。

例如,谷歌浏览器使用V8引擎,这是开源的。您可以下载它,并查看C ++程序如何将JavaScript的“打印”命令转换为机器代码。

Internet Explorer在其浏览器中使用JScript(Chakra)引擎,其他人使用JScript(Chakra)引擎,并且它们都使用通用内核。


2

维基百科有这样的说法。

通常,JScript是一种ActiveX脚本语言,很可能会被非IE浏览器解释为JavaScript。


1

有一些代码差异需要注意。

不支持subtr的负第一个参数,例如在Javascript中:"string".substr(-1)返回“ g”,而在JScript中:"string".substr(-1)返回“ string”

可以"string"[0]在Javascript中获取“ s”,但JScript不支持这种构造。(实际上,只有现代浏览器似乎支持该"string"[0]构造。


-5

Jscript是一种类似于C#的.NET语言,具有相同的功能并可以访问所有.NET功能。

JavaScript在ASP Classic服务器上运行。使用经典ASP运行与客户端上相同的JavaScript(HTML5功能除外)。我的大多数代码只有这种方式的一组代码。

当我需要经典ASP中没有的图像和二进制文件功能(以及许多其他功能)时,我运行.ASPX JScript。该代码对于服务器而言是唯一的,但是功能非常强大。


7
我认为您正在考虑JScript.Net
Lankymart,2016年

-7

JScriptMicrosoftJavaScript等效。
Java是Oracle产品,曾经是Sun产品。

甲骨文收购的Sun

JavaScript + Microsoft = JScript


14
轻松点大胆!
Jowen 2014年

为什么选择Java?您的意思是JavaScript。
Stack0verflow 2014年

对于可能不知道的任何人的重要说明:JavaScript和Java并非同一事物,也不以任何方式相关。JavaScript最初称为LiveScript。但为了利用Java的流行性,将其重命名为JavaScript。除了与C之类的语法语言相似之外,共享名称是它们共同点的范围。
培根·布拉德
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.