目录

19.4 全面启用E4X

优质
小牛编辑
122浏览
2023-12-01

鉴于E4X 在很多方面给标准JavaScript 带来了不同,因此Firefox 在默认情况下只启用E4X 中与其他代码能够相安无事的那些特性。要想完整地启用E4X,需要将<script>标签的type 特性设置为"text/javascript;e4x=1",例如:

<script type="text/javascript;e4x=1" src="e4x_file.js"></script>

在打开这个“开关”之后,就会全面启用E4X,从而能够正确地解析嵌入在E4X 字面量中的注释和CData 片段。在没有完整启用E4X 的情况下使用注释和/或CData 片段会导致语法错误。

19.5 小结

E4X 是以ECMA-357 标准的形式发布的对ECMAScript 的一个扩展。E4X 的目的是为操作XML 数
据提供与标准ECMAScript 更相近的语法。E4X 具有下列特征。

  • 与DOM 不同,E4X 只用一个类型来表示XML 中的各种节点。
  • XML 对象中封装了对所有节点都有用的数据和行为。为表现多个节点的集合,这个规范定义了XMLList 类型。
  • 另外两个类型,Namespace 和QName,分别表现命名空间和限定名。

为便于查询XML 结构,E4X 还修改了标准了的ECMAScript 语法,修改的地方如下。

  • 使用两个点(..)表示要匹配所有后代元素,使用@字符表示应该返回一或多个特性。
  • 星号字符(*)是一个通配符,可以匹配任意类型的节点。
  • 所有这些查询都可以通过一组执行相同操作的方法来实现。

到2011年底,Firefox还是唯一一个支持E4X的浏览器。尽管没有其他浏览器提供商承诺会实现E4X,但在服务器上,由于BEA Workshop for WebLogic 和Yhaoo! YQL 的推动,E4X 已经取得了不小的成功。