JavaScript


Google 

JavaScript (正體)

JavaScript是一种物件导向脚本语言,目前已经在万维网上广泛用于动态网页的编程语言。JavaScript是ECMAScript标准的起源语言,也是网景通讯公司Mozilla基金会的ECMAScript实施。景通讯公司最初在它的Netscape Navigator 2.0产品上设计并实现,原名LiveScript

目录

澄清误解

  • JavaScript不是Java
JavaScript和Java除了语法上有一些相似之处,以及都能够当作网页的程式语言以外,两者是完全不相干的。
  • JavaScript与JScript不同
为了掌握技术优势,微软推出了JScript来迎战JavaScript的脚本语言。为了互用性,Ecma国际(前身为欧洲计算机制造商协会)建立了ECMA-262标准(ECMAScript)。现在两者都属于双方的ECMAScript实施。
  • JavaScript并不简单
尽管JavaScript作为给非程式人员的脚本语言,而非作为给程式人员的程式语言来推广和宣传,但是JavaScript是一门具有非常丰富特性的语言,它有着和其它程式语言一样的复杂性,或更甚复杂。实际上,你必需对JavaScript有紮实的理解才能用它来撰写比较复杂的程式。

JavaScript的Hello World程式

<HTML>
<HEAD>
        <TITLE>JavaScript的Hello World程式</TITLE>
</HEAD>
<BODY>
        <script type="text/javascript">
        document.write("Hello, World!")   //直接在浏览器视窗显示。
        alert("Hello, World!")      //开启对话视窗显示。
        </script>
        HTML超连结本文……
</BODY>
</HTML>

版本历史

JavaScript
版本 说明 实现
JavaScript1.0 原始版本,基本废弃。 由Netscape 2 实现。
JavaScript1.1 引入真正的Array阵列,消除了大量错误。 由Netscape 3 实现。
JavaScript1.2 引入switch语句、正规表达式和大量新特性,基本上符合ECMAv1。 由Netscape 4 实现。
JavaScript1.3 修正了不兼容性,符合ECMAv1。 由Netscape 4.5 实现。
JavaScript1.4 只有Netscape 服务器产品 实现。
JavaScript1.5 引入了异常处理,符合ECMAv3。 由Mozilla和Netscape 6 实现。
JavaScript1.6 引入E4X、Array的item location methods和取代方法、Array generic、String generic。
JavaScript1.7 引入generator、取代器、Array comprehensions、let关键字、解构赋值(Destructuring assignment)

比较

ECMA
版本 说明 实现
ECMA v1 标准化了JavaScript1.1的基本特性,并添加了一些新特性。没有标准化switch语句和正则表达式。 由Netscape 4.5 和IE 4 实现。
ECMA v2 ECMA v1的维护版本,只添加了说明。 由Netscape 4.5 和IE 4 实现。
ECMA v3 标准化了switch语句、异常处理和正则表达式。 由Mozilla、Netscape 6 和 IE 5.5 实现。

版本标准

JavaScript已经被Netscape公司提交给ECMA制定为标准,称之为ECMAScript,标准编号ECMA-262。目前最新版为ECMA-262 3rd Edition。符合该标准的实现有:

据测试,Spidermonkey的性能最好。 目前ECMA-262 4th Edition正在开发的过程中,与其对应的JavaScript的版本为JavaScript 2.0,目前也正在开发过程中。

不同于服务器端脚本语言,例如PHPASP,JavaScript是用户端脚本语言,也就是说JavaScript是在用户的浏览器上运行,不需要服务器的支持而可以独立运行。所以在早期程序员比较青睐于JavaScript以减少对服务器的负担,而与此同时也带来另一个问题:安全性。而随着服务器的强壮,虽然现在的程序员更喜欢运行于伺服端的脚本以保证安全,但JavaScript仍然以其跨平台、容易上手等优势大行其道。

JavaScript是一种脚本语言,其源代码在发往服务器执行之前不需经过编译,而是将文本格式的字符代码发送给服务器由浏览器解释执行。解释语言的弱点是安全性较差,而且在JavaScript中,如果一条执行不了,那么下面的语言也无法执行。而且由于每次重新加载都会重新解译,加载后,有些代码会延迟至运行时才解译,甚至会多次解译,所以速度较慢。

与其相对应的是编译语言,例如Java。Java的源代码在传递到服务器执行之前,必须经过编译,因而服务器上必须具有相应平台上的仿真器或解释器,它可以通过编译器或解释器实现独立于某个特定的平台编译代码的束缚。但是它必须在服务器端进行编译,这样就拖延了时间。但因为已经封装,所以能保证安全性。

外部连结

参见

您可以在维基教科书中查找此百科条目的相关电子教程:
JavaScript
Google 

! __







Why are we here?
All text is available under the terms of the GNU Free Documentation License
This page is cache of Wikipedia. History