比较版本

New in JavaScript 1.6

修订版 162112:

由 Wuzhigang 在 进行的修订 162112

修订版 162113:

由 Metaphox 在 进行的修订 162113

标题:
New in JavaScript 1.6
New in JavaScript 1.6
网址缩略名:
JavaScript/New_in_JavaScript/1.6
JavaScript/New_in_JavaScript/1.6
标签:
JavaScript, E4X
JavaScript, E4X
内容:

修订版 162112
修订版 162113
n8      敬请期待...n8      JavaScript 1.6 引入了若干新特性:E4X,若干新的<code>Array</code>方法,及数组和字符
 >串泛型。
tt10    <p>
11      JavaScript 1.6 受<a href="cn/Firefox_1.5">Firefox 1.5</a>及其后
 >版本支持。
12    </p>
13    <h3 name="E4X">
14      E4X
15    </h3>
16    <p>
17      ECMAScript for XML (<a href="cn/E4X">E4X</a>) 是用于创建和处理<a hr
 >ef="cn/JavaScript">JavaScript</a>内之<a href="cn/XML">XML</a>内容的强大工
 >具。我们将继续改进对E4X的支持,包括增加与现有<a href="cn/DOM">DOM</a>的透明整合,但创建基于XML之We
 >b应用程序的开发人员已经可以从Firefox 1.5之中获益。
18    </p>
19    <p>
20      您在使用E4X的同时仍旧可以食用标准MIMI类型:
21    </p>
22    <pre>
23&lt;script type="text/javascript"&gt;
24</pre>
25    <p>
26      不过,E4X语法可能与现存的将脚本置入HTML注释(<code><span class="plain">&lt;!--
 >...--&gt;</span></code>),以兼容老旧浏览器的方法冲突,也可能与更为时兴的,将脚本放入XML CDATA段落
 >(<code>&lt;![CDATA{{mediawiki.external('...')}}]&gt;</code>) ,以容许
 >"&lt;" 与 "&gt;"出现在脚本中的方法冲突(注意这并不适用于HTML)。若您若读到无从解释的语法错误,可以向MIME类型
 >属性中添加"; e4x=1":
27    </p>
28    <pre>
29&lt;script type="text/javascript; e4x=1"&gt;
30</pre>
31    <p>
32      注意扩展的脚本总是将HTML注释视为E4X字符,也就是说,"e4x=1"是默认的。
33    </p>
34    <h3 name=".E6.95.B0.E7.BB.84.E6.89.A9.E5.B1.95">
35      数组扩展
36    </h3>
37    <p>
38      七个新的<code><a href="cn/Core_JavaScript_1.5_Reference/Objects
 >/Array">Array</a></code>方法可以分成两类:条目(item)定位方法和迭代方法。 条目定位方法为:
39    </p>
40    <ul>
41      <li>
42        <code><a href="cn/Core_JavaScript_1.5_Reference/Objects/A
 >rray/indexOf">indexOf()</a></code> - 返回指定条目首次出现的索引。
43      </li>
44      <li>
45        <code><a href="cn/Core_JavaScript_1.5_Reference/Objects/A
 >rray/lastIndexOf">lastIndexOf()</a></code> - 返回指定条目最后一次出现的索引。
46      </li>
47    </ul>
48    <p>
49      迭代方法包括:
50    </p>
51    <ul>
52      <li>
53        <code><a href="cn/Core_JavaScript_1.5_Reference/Objects/A
 >rray/every">every()</a></code> - 在数组中的每个条目上运行一个函数,若所有结果都返回真值,此方法亦
 >返回真值。
54      </li>
55      <li>
56        <code><a href="cn/Core_JavaScript_1.5_Reference/Objects/A
 >rray/filter">filter()</a></code> - 在数组中的每个条目上运行一个函数,并将结果返回真值的条目作为
 >数组返回。
57      </li>
58      <li>
59        <code><a href="cn/Core_JavaScript_1.5_Reference/Objects/A
 >rray/forEach">forEach()</a></code> - 在数组中的每个条目上运行一个函数。
60      </li>
61      <li>
62        <code><a href="cn/Core_JavaScript_1.5_Reference/Objects/A
 >rray/map">map()</a></code> - 在数组中的每个条目上运行一个函数,并将全部结果作为数组返回。
63      </li>
64      <li>
65        <code><a href="cn/Core_JavaScript_1.5_Reference/Objects/A
 >rray/some">some()</a></code> - 在数组中的每个条目上运行一个函数,若存在任意结果返回真,则返回真值。
66      </li>
67    </ul>
68    <p>
69      更多信息请参考Nicholas C. Zakas的文章,<span class="exlink"><a href="c
 >n/Mozilla's_New_Array_Methods_(external)">Mozilla's New Array Met
 >hods</a></span>.
70    </p>
71    <h3 name=".E6.95.B0.E7.BB.84.E5.8F.8A.E5.AD.97.E7.AC.A6.E4.B8
 >.B2.E6.B3.9B.E5.9E.8B">
72      数组及字符串泛型
73    </h3>
74    <p>
75      您有时也许会想在字符串类型上使用数组拥有的方法。这样做的话,您实际上将字符串视如一个字符数组。例如,想要检查变量<va
 >r>str</var>中的每个字符都是字母,您可以这样写:
76    </p>
77    <pre>
78function isLetter(character) {
79  return (character &gt;= "a" &amp;&amp; character &lt;= "z");
80}
81 
82if (Array.prototype.every.call(str, isLetter))
83  alert("The string '" + str + "' contains only letters!");
84</pre>
85    <p>
86      这种写法有点浪费,故JavaScript 1.6引入了泛型的简洁写法:
87    </p>
88    <pre>
89if (Array.every(str, isLetter))
90  alert("The string '" + str + "' contains only letters!");
91</pre>
92    <p>
93      Similarly you can easily apply String methods to any object
 >:
94    </p>
95    <pre>
96var num = 15;
97alert(String.replace(num, /5/, '2'));
98</pre>
99    <h3 name=".E5.8F.82.E7.9C.8B">
100      参看
101    </h3>
102    <p>
103      <a href="cn/Firefox_2">Firefox 2</a>中引入的<a href="cn/New_in_
 >JavaScript_1.7">JavaScript 1.7</a>新特性。
104    </p>{{ wiki.languages( { "en": "en/New_in_JavaScript_1.6", "f
 >r": "fr/Nouveaut\u00e9s_dans_JavaScript_1.6", "ja": "ja/New_in_Ja
 >vaScript_1.6", "pl": "pl/Nowo\u015bci_w_JavaScript_1.6" } ) }}

返回历史