JavaScript 1.6 的新特性

JavaScript 1.6 引入了一些新功能: E4X, 几个新的数组方法,还有数组和字符串的通用接口(generics)。

JavaScript 1.6已经实施在在 Firefox 1.5+ 的浏览器上。

E4X (后来被置弃)

ECMAScript for XML (E4X) 是 JavaScript 用以创建和处理XML 的牛X技术。我们将继续改善对 E4X 的支持,包括与现成 DOM 的透明化集成。Firefox 1.5 对 E4X 的支持,方便了开发人员创建以 XML 基础核心的网页应用

当你使用 E4X 时,你仍然可以运用标准 MIME 类型:

<script type="text/javascript">

不过,E4X 语法可能与将脚本放到HTML的注释(<!--...-->中的常规做法相冲突(为兼容旧版浏览器)。E4X 也可能不兼容将脚本放到 XML CDATA中(<![CDATA[...]]>,这样做是为了允许在脚本中直接使用 "<" 和 ">";注意,这并不适应于HTML)。如果你遇到奇怪的语法错误问题,请在 MIME 类型中添加 "; e4x=1" 以解决之。

<script type="text/javascript; e4x=1">

注意,扩展中的脚本总是把 HTML 的注释当作 E4X 的语义来理解。也就是,"e4x=1" 是默认的。

E4X 的详尽文档,请看 使用 E4X 处理 XML 一文。

数组的新方法

 数组方法共有7个,可分为两大类,包括数组元素定位方法和迭代方法。数组元素定位方法有:

  • indexOf() - 在数组中搜索用户传入的元素,并返回第一个匹配到的数组索引值。
  • lastIndexOf() - 在数组中搜索用户传入的元素,并返回最后一个匹配到的数组索引值。

迭代循环的方法有:

  • every() - 首先,以数组元素为参数来传给自定义函数,并依次执行之,直到函数不返回 true值。最后,如果数组元素已经走了一遍,自定义函数仍然全部返回 true值,则every方法最后会返回一个true值;否则则返回 false值
  • filter() - 首先,以数组元素为参数来传给自定义函数,并一一执行之;最后,所有在执行自定义函数时得到返回true值的数组元素将被加入新的数组元素,并被filter方法返回
  • forEach() - 针对每一个数组元素,执行自定义函数。
  • map() - runs a function on every item in the array and returns the results in an array. 首先,以数组元素为参数来传给自定义函数,并一一执行之;然后,自定义函数每次的执行结果将被作为新数组的元素;最后返回那个新数组;
  • some() - runs a function on items in the array while that function returns false. It returns true if the function returns true for any item it could visit. 首先,以数组元素为参数来传给自定义函数,如果函数返回 false值,继续依次执行之;其次,如果自定义返回了一次true值,则some方法最后会返回true值,否则返回 false

更多详细信息,请看 数组操作 一文, 或者参考大师 Nicholas C. Zakas 的文章:Mozilla 的新数组方法.

数组和字符串的通用接口(generics)

For each ... in

for each ... in 被使用来迭代对象或者数组的属性值,而不是它们的键/属性。这个方法也被用在了 E4X

另见

Document Tags and Contributors

Contributors to this page: lanshunfang
最后编辑者: lanshunfang,