
课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
JavaScript和JScript有什么差别?Web浏览器的两种不同但类似的语言Netscape为他们流行的浏览器的第二个版本开发了JavaScript的原始版本。最初,Netscape 2是唯一支持脚本语言的浏览器,该语言最初称为LiveScript。很快就被重命名为JavaScript。这是为了兑现Sun的Java编程语言在当时获得的一些宣传。虽然JavaScript和Java表面上相似,但它们是完全不同的语言。
这个命名的决定已经造成了两种语言的初学者,不断让他们困惑的问题。只要记住,JavaScript不是Java(反之亦然),你会避免很多困惑。
微软公司试图在Netscape公司创造JavaScript的时候获得Netscape公司的市场份额,因此微软公司推出了两种脚本语言。其中之一,他们基于视觉基础,它被命名为VBScript。第二个是微软称为JScript的JavaScript外观。
为了超越Netscape,JScript提供了许多不在JavaScript中的附加命令和功能。JScript也具有微软ActiveX功能的接口。
由于Netscape 1,Internet Explorer 2和其他早期的浏览器都不了解JavaScript或JScript,所以将脚本的所有内容放在HTML注释中以便隐藏旧版浏览器的脚本已经成为一种常见的做法。
即使不能处理脚本,新的浏览器也被设计用来识别脚本标签,因此IE3之后发布的任何浏览器都不需要隐藏脚本。
不幸的是,当极早期的浏览器不再使用的时候,人们已经忘记了HTML评论的原因,所以许多JavaScript新手仍然包括这些完全不必要的标签。
实际上包括HTML注释可能会导致现代浏览器的问题。如果您使用XHTML而不是HTML,包括注释内部的代码,将会使脚本成为注释,而不是脚本。许多现代的内容管理系统(CMS)也会这样做。
随着时间的推移,JavaScript和JScript都进行了扩展,以引入新的命令来提高与网页交互的能力。两种语言都添加了与其他语言中的相应功能(如果有的话)不同的新功能。
这两种语言的工作方式非常类似,可以使用浏览器感应来确定浏览器是Netscape还是IE。然后可以运行该浏览器的适当代码。随着IE平衡向IE浏览器市场转移,Netscape获得平等的份额,这种不兼容性需要一个解决方案。
Netscape的解决方案是将JavaScript的控制交给欧洲计算机制造商协会(ECMA)。该协会以ECMAscipt的名义正式确定了JavaScript标准。与此同时,万维网联盟(W3C)开始了一个标准的文档对象模型(Document Object Model,DOM)的工作,该模型将被用来允许JavaScript和其他脚本语言完全访问来操作页面的所有内容,而不是有限的访问,直到那个时候。
在DOM标准完成之前,Netscape和微软都发布了自己的版本。Netscape 4带有自己的document.layer DOM和Internet Explorer 4带有自己的document.all DOM。这两个文档对象模型都被淘汰,当人们停止使用这些浏览器作为所有的浏览器,因为那时已经实现了标准的DOM。
ECMAscript和标准DOM在所有版本5和更新的浏览器中的引入消除了Javascript和JScript之间的大部分不兼容问题。虽然这两种语言仍然存在差异,但现在可以编写既可以在Internet Explorer中以JScript的形式运行的代码,又可以在所有其他现代浏览器中以JavaScript的形式运行代码,而只需很少的功能。支持特定功能的浏览器可能会有所不同,但是我们可以从一开始就使用两种语言构建的功能来测试这些差异,以便我们测试浏览器是否支持某个特定功能。通过测试并非所有浏览器支持的特定功能,我们将能够确定哪些代码适合在当前浏览器中运行。
JavaScript和JScript之间最大的区别是JScript支持的所有附加命令都允许访问ActiveX和本地计算机。这些命令适用于您知道所有计算机的配置并且都在运行Internet Explorer的Intranet站点。JavaScript和JScript在执行特定任务所提供的方法上还有一些区别。除了这些情况,这两种语言可以被认为是相互等价的,所以除非另有说明,否则所有对JavaScript的引用通常都会包含JScript。