首页 > IT资讯 > 正文

微软向JavaScript迈进

JavaScript语言至少重生9次了。作为Netscape浏览器的一部分,它在1996年正式亮相,愉快地度过了互联网时代的头第15个年头。 JavaScript被设计为一种简单的语言,用来制作更吸引人的HTML页面。它易于使用——并且工作得很好,而非一个完整的编程语言。从那时起它经历起伏。它的低点是在21世纪初,当ASP.NET发布第一个版本,目的明确地要限制开发者接触HTML和JavaScript。几年后开始,随着Ajax的出现,JavaScript开始反击。

虽然JavaSript曾经生活在浏览器引擎的框架内,近期更智能和快速的引擎出现,它们能够独立于浏览器,给JavaScript提供了更广的空间(如Node.js)。

今天,JavaScript是开发者的重要技能。尽管仍然很容易熟悉,掌握它强大的最新实现即“JavaScript And ECMA-262”并不是无关紧要的。

很多人应该知道谁更好依然认为JavaScript作为浏览器的语言,其广泛的采用持怀疑态度。在现实中,JavaScript语言依赖于一个可靠的标准定义由ECMA-262和ISO / IEC 16262:2011论文。

一些应更深入了解情况的人仍然认为JavaScript是浏览器语言,对于广泛适用性抱有怀疑。事实上,JavaScript基于ECMA-262 和 ISO/IEC 16262:2011定义的一个坚实的标准。

那么,为何大惊小怪?

重要的是要明白,“JAVASCRIPT”是一个通用术语。 ECMA-262是公认的标准和它的许多实现。当然,只有在运行环境使指令能够被编译和运行时,一种编程语言才有意义。反过来,运行环境要存在于可运行程序的环境内。目前有若干可能的情况。最常见的是基于遵守ECMA-262的引擎的浏览器。一个实际的例子是拥有V8引擎并且使用JavaScript(遵守ECMA-262的语言)的Google Chrome。因此,本质上,JavaScript是一个基于ECMA-262的语言名称。更准确地说,Google Chrome以ECMA-262第五版为目标。Firefox配备Gecho作为脚本引擎,也目指ECMA-262第五版。Internet Explorer用Chakra引擎和JScript语言。Adobe Flash采用ActionScript语言,Acrobat Reader采用名为JavaScript但是以ECMA-262为目标的语言。最后,Opera采用ECMAScript,是该标准的一个严格实现。

如下述的,对JavaScript的图景不清晰不仅限于其名字。

JavaScript分支语言

一种编程语言的分支语言从属于它的标准语言。这种附属地位产生和标准的微弱差异(主要是扩展)。例如,JScript中提供了一些额外的命令来支持ActiveX对象和本地计算机的访问。这种支持ECMA-262标准并不提供。同样的,ActionScript也能做到。

JavaScript分支语言怎么样呢?它类似于Mozilla管理的准标准。JavaScript标准服从其自身的版本名,版本名表明面向哪个ECMA标准。JavaScript,JScript,ActionScript和其他的变型很大程度上依赖于同样的标准,被认为是相同的。

2002年,微软发布了.NET Framework的第一版,包括了编译改作版的被叫做JScript.NET的JScript的非正式的编译器。应该说JScript.NET从来没有征服大众:到今天也没有适配,甚至在Visual Studio中也没有。

司空见惯的我们认为这现象是个巧合而已:微软会提供一个好点子,但是不会首先做出非常好的实现。用Web友好的语言为新的.NET Framework开发应用是个好点子。不过,很难面向超过主文献中的元素。因此,微软提供了语言,里面有包括能直接链接.NET Framework的类。我们就可以用JScript的语法来写Windows Forms程序。不过,用以HTML和CSS为中心的Web范式来写同样Windows Forms程序不在考虑范围内。

随着Windows 8发布,微软正在使得JavaScript成为一流的软件设计平台:它聪明地选择允许传统的Web范式。开发者使用HTML5来排版,用CSS风格化,用简朴的JavaScript(严格地,基于ECMA的脚本)来处理页面元素。开发者也能使用系统提供的库,这些库能提供界面小工具和使用Windows 8 独有功能的工具,比如活动方砖图标。微软在Windows 8才开始全面采用JavaScript确实很迟,但是仍然让人很愉快。


上一篇:小心黑客使用物联网来攻击
下一篇:新型iPhone电池充电只需5秒

PythonTab微信公众号:

Python技术交流互助群 ( 请勿加多个群 ):

群1: 87464755

群2: 333646237

群3: 318130924

群4: 385100854