JavaScript 和 JScript 有什么区别?

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

121219 次浏览

JScript 是微软的 Javascript 实现

来自维基百科: http://en.wikipedia.org/wiki/Jscript

JScript 是微软的方言 ECmascript 脚本语言 规格。

JavaScript (Netscape/Mozilla) implementation of the ECMA 规范)、 JScript 和 ECMAScript 是非常相似的语言。 事实上,“ JavaScript”这个名称通常是 used to refer to ECMAScript or JScript.

Microsoft uses the name JScript for its implementation to avoid trademark issues (JavaScript is a trademark of 甲骨文公司).

JScript 是微软 ECMAScript 规范的实现,JavaScript 是该规范的 Mozilla 实现。

根据 这个的文章:

  • JavaScript 是一个由脚本语言开发的网景,用于开发客户端和服务器互联网应用程序。网景导航者是用来解释嵌入到网页中的 JavaScript 的。JavaScript 独立于 Sun Microsystem 的 Java 语言。

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

维基百科有 这个来说明这些差异。

In general JScript is an ActiveX scripting language that is probably interpreted as JavaScript by non-IE browsers.

实际上 ECMAScript 的不同名称。 John Resig 有一个 很好的解释

Here's the full version breakdown:

  • IE6-7支持 JScript 5(相当于 ECMAScript 3,JavaScript 1.5)
  • IE 8支持 JScript 6(相当于 ECMAScript 3,JavaScript 1.5-JScript 5的更多 bug 修复)
  • Firefox 1.0支持 JavaScript 1.5(ECMAScript 3等效)
  • Firefox 1.5支持 JavaScript 1.6(1.5 + 数组额外项 + E4X + misc.)
  • Firefox 2.0支持 JavaScript 1.7(1.6 + Generator + Iterators + let + misc)
  • Firefox 3.0支持 JavaScript 1.8(1.7 + 生成器表达式 + 表达式闭包 + misc.)
  • Firefox 的下一个版本将支持 JavaScript 1.9(1.8 + 待定)
  • Opera 支持相当于 ECMAScript 3 + Getters 和 Setters + misc 的语言。
  • Safari 支持相当于 ECMAScript 3 + Getters 和 Setters + misc 的语言。

据我所知,有两件事:

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

Javascript,这门语言,最先来自 Netscape。

微软对 Javascript 进行了逆向工程,并称之为 JScript,以避免 Sun 的商标问题。(当时 Netscape 和 Sun 是合作伙伴,所以这不是什么大问题)

这两种语言是相同的,都是 ECMA 手稿的方言,事后标准。

虽然这两种语言是相同的,但是由于 jScript 是在 Internet Explorer 中运行的,所以浏览器显示的是不同的对象(比如 ActiveXObject)

JScript 微软的等价物 JavaScript
Java 是一个 神使产品,曾经是一个 太阳产品。

甲骨文收购了 Sun

JavaScript + Microsoft = JScript

Jscript 是一种类似于 C # 的.NET 语言,具有相同的功能和对所有.NET 函数的访问。

JavaScript is run on the ASP Classic server. Use Classic ASP to run the same JavaScript that you have on the Client (excluding HTML5 capabilities). I only have one set of code this way for most of my code.

我跑步。当我需要图像和二进制文件函数时,使用 ASPX JScript,这些函数不在经典 ASP。这段代码对于服务器是唯一的,但是非常强大。

需要注意一些代码差异。

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

在 Javascript 中使用 "string"[0]获得“ s”是可能的,但是 JScript 不支持这样的结构。(实际上,似乎只有现代浏览器支持 "string"[0]结构。

很久以前,所有的浏览器提供商都在为他们的浏览器制作 JavaScript 引擎,只有他们和上帝知道这里面发生了什么。在一个美好的日子里,Ecma国际们来了,他们说: “让我们制造基于共同标准的引擎吧,让我们制造一些通用的东西,让生活变得更加简单和有趣,他们制造了这个标准。”。 因为所有的浏览器提供者都是基于 ECMAScript 核心(标准)来制作 JavaScript 引擎的。

例如,GoogleChrome 使用 V8引擎,这是开源的。您可以下载它,看看 C + + 程序如何将 JavaScript 命令“ print”转换为机器码。

Internet Explorer 的浏览器使用 JScript (Chakra)引擎,其他人也这样做,他们都使用共同的内核。

JScript 和 Javascript 是 完全正确不同的脚本语言。Javascript 可以在浏览器上运行,但是 JScript 可以使用 ActiveX 对象,如果你运行它,它几乎可以完全控制你的操作系统,它可以删除文件,运行或写文件,从网络下载文件(通过 Powershell)运行 cmd 命令等。JScript 与 VBScript 几乎相同,但语法不同。