mozilla

比较版本

JavaScript总览

更改版本

修订版 268344:

由 bingjie2680 在 进行的修订 268344

修订版 218520:

由 bingjie2680 在 进行的修订 218520

标题:
JavaScript总览
JavaScript总览
网址缩略名:
Core_JavaScript_1.5_Guide/JavaScript总览
Core_JavaScript_1.5_Guide/JavaScript总览
内容:

修订版 268344
修订版 218520
t7    <p>t
8      &nbsp;
9    </p>
10    <h3 id=".E4.BB.80.E4.B9.88.E6.98.AFJavaScript.EF.BC.9F" name=
>".E4.BB.80.E4.B9.88.E6.98.AFJavaScript.EF.BC.9F"> 
11      什么是JavaScript?
12    </h3>
13    <p>
14      JavaScript 是一种跨平台、面向对象的脚本语言。JavaScript是一个小的,轻量级的语言;不能被用作独立语
>言,但是可以嵌入到其他产品或应用程序中,如Web 浏览器。在一个宿主环境下,JavaScript可以与环境提供的其他对象相连,并对 
>他们进行控制。 
15    </p>
16    <p>
17      核心JavaScript包含一套核心对象,如<code>Array</code>、<code>Date</code>、
><code>Math</code>和一套核心的语言元素,如运算符、控制结构以及语句。核心JavaScript可以通过补充各种附加对 
>象的方式扩展至各种用途,如: 
18    </p>
19    <ul>
20      <li>
21        <em>客户端JavaScript</em> 扩展了JavaScript核心,以提供控制浏览器及其文档对象模型(D
>OM,Document Object Model)。比如,客户端的扩展允许应用程序在一个HTML表单(Form)中放置元素,并对诸 
>如鼠标点击,表单输入以及页面导航等用户事件作出响应。 
22      </li>
23      <li>
24        <em>服务器端JavaScript</em> 扩展了JavaScript核心,以提供适当的对象使JavaScri
>pt在服务器端运行。如,服务器端的扩展允许应用程序与关系数据库通信,提供从应用程序的一个invocation到另一个的信息的连贯性 
>,或在服务器上进行文件处理。 
25      </li>
26    </ul>
27    <p>
28      通过JavaScript的LiveConnect功能,你可以让Java与JavaScript代码互相通信。在JavaS
>cript中你可以实例化Java对象并访问其公用方法和字段。在Java中你也可以访问JavaScript对象,属性以及方法。 
29    </p>
30    <p>
31      Netscape发明了JavaScript,JavaScrips首先应用于Netscape的浏览器。
32    </p>
33    <h3 id="JavaScript.E5.92.8CJava" name="JavaScript.E5.92.8CJav
>a"> 
34      JavaScript和Java
35    </h3>
36    <p>
37      JavaScript与Java在某些方面有些相似, 但在其他方面是完全不同的。JavaScript语言与Java类似,
>但是没有Java有的静态分类以及强壮的类型检查。 JavaScript支持大部分的Java表达式语法以及基本的控制流结构。 
38    </p>
39    <p>
40      与Java 由通过声明创建的类组成的编译系统相比,JavaScript只支持有几个代表数字,布尔以及字符值的数据类型为
>基础的运行时系统。 JavaScript有一个基于原型(prototype-based)的对象模型,用之取代更为通用的基于类(cl 
>ass-based)的对象模型。基于原型的模型支持动态继承;也就是说,可对每个独立对象进行不同的继承。JavaScript还支持不 
>用特别声明的函数(Functions) 。Functions还可以是对象的属性,如同执行宽松类型的方法。 
41    </p>
42    <p>
43      同Java相比,JavaScript实在是一种格式自由的语言。你不需要声明所有的变量,类以及方法。你不用关心方法是公有
>(Public)还是私有(Private)或者被保护(Protected),也不用实例化接口。变量,参数以及函数返回值都没有明确的 
>类型。 
44    </p>
45    <p>
46      Java 是一种基于类的编程语言,为了快速执行和类型安全的目的而设计。类型安全意味着,例如,你不能将一个Java数值类
>型(integer)指向一个对象引用,或者通过混淆Java字节码来访问私有内存。 Java的基于类的模型意味着程序仅有类及其方法。 
>Java的类继承以及健壮的类型声明需要紧密耦合的对象层次。这些要求使Java编程比 JavaScript的创建更加复杂。 
47    </p>
48    <p>
49      相比之下,JavaScript的灵魂来源于那些小型的动态类型化的语言如HyperTalk 和 dBASE。这些脚本语言
>为更多的受众提供了编程工具,因为他们有简单的语法,特有的嵌入功能性,以及对对象创建的更少的要求。 
50    </p>
51    <table class="fullwidth-table">
52      <tbody>
53        <tr>
54          <th>
55            JavaScript
56          </th>
57          <th>
58            Java
59          </th>
60        </tr>
61        <tr>
62          <td>
63            面向对象。对象类型间无区别。通过原型机制实现继承,属性和方法可以动态加载至任何对象。
64          </td>
65          <td>
66            基于类。对象划分为类和实例,通过类层次实现集成。类和实例不能动态加载属性和方法。
67          </td>
68        </tr>
69        <tr>
70          <td>
71            变量数据类型无需声明(动态类型)。
72          </td>
73          <td>
74            变量数据类型必须声明(静态类型)。
75          </td>
76        </tr>
77        <tr>
78          <td>
79            不能自动写入硬盘。
80          </td>
81          <td>
82            不能自动写入硬盘。
83          </td>
84        </tr>
85      </tbody>
86    </table>
87    <p>
88      <small><strong>表1.1: JavaScript与Java的比较</strong></small><br
>> 
89      <br>
90      关于JavaScript与Java区别性的更多信息,请参阅章节 <a href="/cn/Core_JavaScrip
>t_1.5_Guide#Details_of_the_Object_Model" title="cn/Core_JavaScrip 
>t_1.5_Guide#Details_of_the_Object_Model">对象模型的细节</a>。 
91    </p>
92    <h3 id="JavaScript.E5.92.8CECMA.E8.A7.84.E8.8C.83" name="Java
>Script.E5.92.8CECMA.E8.A7.84.E8.8C.83"> 
93      JavaScript和ECMA规范
94    </h3>
95    <p>
96      Netscape创造了JavaScript,JavaScript首先用在了Netscape的浏览器上。不过Netsca
>pe与<a class="external" href="http://www.ecma-international.org/"> 
>Ecma国际</a>——欧洲的制定信息和通讯系统规范的协会(以前的欧洲计算机制造商协会)一起,建立基于JavaScript内核的国 
>际编程语言的标准。JavaScript的这个标准化版本叫做ECMAScript,支持这个标准的程序的表现是相同的。公司可以使用开放 
>的标准语言去开发他们的JavaScript实现。ECMAScript标准记录在ECMA-262中。 
97    </p>
98    <p>
99      ECMA-262标准已经被<a class="external" href="http://www.iso.ch/">
>ISO</a>(国际标准化组织)承认,作为ISO-16262。你可以在Mozilla网站上找到<a class="external 
>" href="http://www.mozilla.org/js/language/E262-3.pdf">PDF版的ECMA- 
>262</a>。你也可以在<a class="external" href="http://www.ecma-internatio 
>nal.org/publications/standards/Ecma-262.htm">Ecma国际网站上</a>找到他。ECM 
>AScript没有关于文档对象模型(DOM)的描述,他是<a class="external" href="http://www. 
>w3.org/">万维网联盟(W3C)</a>的标准。DOM定义了HTML文档对象暴露给你的脚本的方法。 
100    </p>
101    <h4 id="JavaScript.E5.92.8CECMA.E7.89.88.E6.9C.AC.E4.B9.8B.E9
>.97.B4.E7.9A.84.E5.85.B3.E7.B3.BB" name="JavaScript.E5.92.8CECMA. 
>E7.89.88.E6.9C.AC.E4.B9.8B.E9.97.B4.E7.9A.84.E5.85.B3.E7.B3.BB"> 
102      JavaScript和ECMA版本之间的关系
103    </h4>
104    <p>
105      Netscape worked closely with Ecma International to produce 
>the ECMAScript Specification (ECMA-262). The following table desc 
>ribes the relationship between JavaScript versions and ECMAScript 
> editions. 
106    </p>
107    <table class="fullwidth-table">
108      <tbody>
109        <tr>
110          <th>
111            JavaScript version
112          </th>
113          <th>
114            Relationship to ECMAScript edition
115          </th>
116        </tr>
117        <tr>
118          <td>
119            JavaScript 1.1
120          </td>
121          <td>
122            ECMA-262, Edition 1是基于JavaScript 1.1.
123          </td>
124        </tr>
125        <tr>
126          <td>
127            JavaScript 1.2
128          </td>
129          <td>
130            ECMA-262 was not complete when JavaScript 1.2 was rel
>eased. JavaScript 1.2 is not fully compatible with ECMA-262, Edit 
>ion 1, for the following reasons: 
131            <ul>
132              <li>Netscape developed additional features in JavaS
>cript 1.2 that were not considered for ECMA-262. 
133              </li>
134              <li>ECMA-262 adds two new features: internationaliz
>ation using Unicode, and uniform behavior across all platforms. S 
>everal features of JavaScript 1.2, such as the Date object, were  
>platform-dependent and used platform-specific behavior. 
135              </li>
136            </ul>
137          </td>
138        </tr>
139        <tr>
140          <td>
141            <p>
142              JavaScript 1.3
143            </p>
144          </td>
145          <td>
146            <p>
147              JavaScript 1.3与ECMA-262, Edition 1是完全兼容的.
148            </p>
149            <p>
150              <span class="Apple-style-span" style="line-height: 
>15px;">JavaScript 1.3解决了 JavaScript 1.2和ECMA-262之间的非一致性, 然而保留了额外的 
>JavaScript 1.2新特性&nbsp;,除了== and&nbsp;!=被修改来符合ECMA-262的标准.</span> 
151            </p>
152          </td>
153        </tr>
154        <tr>
155          <td>
156            <p>
157              JavaScript 1.4
158            </p>
159          </td>
160          <td>
161            <p>
162              JavaScript 1.4与ECMA-262, Edition 1是完全兼容的.
163            </p>
164            <p>
165              The third version of the ECMAScript specification w
>as not finalized when JavaScript 1.4 was released. 
166            </p>
167          </td>
168        </tr>
169        <tr>
170          <td>
171            JavaScript 1.5
172          </td>
173          <td>
174            JavaScript 1.5与ECMA-262, Edition 3是完全兼容的.
175          </td>
176        </tr>
177      </tbody>
178    </table>
179    <p>
180      <small><strong>Table 1.2: JavaScript versions and ECMAScrip
>t editions</strong></small> 
181    </p>
182    <div class="note">
183      <strong>Note</strong>: ECMA-262, Edition 2 consisted of min
>or editorial changes and bug fixes to the Edition 1 specification 
>. The TC39 working group of Ecma International is currently worki 
>ng on ECMAScript Edition 4, which will correspond to a future rel 
>ease of JavaScript, JavaScript 2.0. 
184    </div>
185    <p>
186      The <a href="/cn/Core_JavaScript_1.5_Reference" title="cn/C
>ore_JavaScript_1.5_Reference">Core JavaScript Reference</a> indic 
>ates which features of the language are ECMAScript-compliant. 
187    </p>
188    <p>
189      JavaScript will always include features that are not part o
>f the ECMAScript Specification; JavaScript is compatible with ECM 
>AScript, while providing additional features. 
190    </p>
191    <h4 id="JavaScript_Documentation.E4.B8.8EECMA.E8.A7.84.E8.8C.
>83.E5.AF.B9.E6.AF.94" name="JavaScript_Documentation.E4.B8.8EECMA 
>.E8.A7.84.E8.8C.83.E5.AF.B9.E6.AF.94"> 
192      JavaScript Documentation与ECMA规范对比
193    </h4>
194    <p>
195      The ECMAScript specification is a set of requirements for i
>mplementing ECMAScript; it is useful if you want to determine whe 
>ther a JavaScript feature is supported in other ECMAScript implem 
>entations. If you plan to write JavaScript code that uses only fe 
>atures supported by ECMAScript, then you may need to review the E 
>CMAScript specification. 
196    </p>
197    <p>
198      The ECMAScript document is not intended to help script prog
>rammers; use the JavaScript documentation for information on writ 
>ing scripts. 
199    </p>
200    <h4 id="JavaScript.E5.92.8CECMA.E7.9A.84.E6.9C.AF.E8.AF.AD" n
>ame="JavaScript.E5.92.8CECMA.E7.9A.84.E6.9C.AF.E8.AF.AD"> 
201      JavaScript和ECMA的术语
202    </h4>
203    <p>
204      The ECMAScript specification uses terminology and syntax th
>at may be unfamiliar to a JavaScript programmer. Although the des 
>cription of the language may differ in ECMAScript, the language i 
>tself remains the same. JavaScript supports all functionality out 
>lined in the ECMAScript specification. 
205    </p>
206    <p>
207      The JavaScript documentation describes aspects of the langu
>age that are appropriate for a JavaScript programmer. For example 
>: 
208    </p>
209    <ul>
210      <li>The Global Object is not discussed in the JavaScript do
>cumentation because you do not use it directly. The methods and p 
>roperties of the Global Object, which you do use, are discussed i 
>n the JavaScript documentation but are called top-level functions 
> and properties. 
211      </li>
212      <li>The no parameter (zero-argument) constructor with the <
>code>Number</code> and <code>String</code> objects is not discuss 
>ed in the JavaScript documentation, because what is generated is  
>of little use. A <code>Number</code> constructor without an argum 
>ent returns +0, and a <code>String</code> constructor without an  
>argument returns "" (an empty string). 
213      </li>
214    </ul>
215    <p>
216      {{ PreviousNext("Core JavaScript 1.5 Guide:关于", "Core_JavaS
>cript_1.5_Guide:Values") }} 
217    </p>
218    <p>
219      &nbsp;
220    </p>
221    <p>
222      &nbsp;
223    </p>
224    <p>
225      {{ languages( { "en": "en/Core_JavaScript_1.5_Guide/JavaScr
>ipt_Overview", "es": "es/Gu\u00eda_JavaScript_1.5/Concepto_de_Jav 
>aScript", "fr": "fr/Guide_JavaScript_1.5/Aper\u00e7u_de_JavaScrip 
>t", "ja": "ja/Core_JavaScript_1.5_Guide/JavaScript_Overview", "ko 
>": "ko/Core_JavaScript_1.5_Guide/JavaScript_Overview", "pl": "pl/ 
>Przewodnik_po_j\u0119zyku_JavaScript_1.5/Przegl\u0105d_JavaScript 
>u" } ) }} 
226    </p>

返回历史