基本语法

如果启用了 E4X,基本的 XML 元素就是有效的语法。例如:

var element = <foo/>

在开启了 E4X 的浏览器里完全有效。

变量的声明也不局限于单个元素,并且和 JavaScript 一样可以扩多行。

var element2 = <foo><bar/></foo>

此外,和一般的 XML 文档一样,你能给一个元素指定属性。

var element3 = <foo baz="1"/>

操作元素

E4X 的目标是为 JavaScript 程序员提供一个简单的方法来操作 XML 文档,而无需通过 DOM 接口。不过,很多你在 DOM 中用过的函数也能用到 E4X 中。最基本的就是 appendChild:

var element1 = <foo/> var element2 = <bar/> element1.appendChild(element2);

它会产生你期望的正确的 XML 文档:

<foo><bar/> </foo>

JavaScript 变量

当 XML 文档需要和 JavaScript 做紧密交互时,E4X 真正强大的地方才得以彰显。通过特定的语法,我们能将 JavaScript 变量的值赋给 E4X 元素。这是用大括号({})标记。

var a = 2; var b = <foo>{a}</foo>;

创建了一段 XML 文档,内容为 <foo>2</foo>。

你也可以将大括号标记用于元素的属性(名字或值)。例如:

var a = 2; var b = 'bar'; var c = <foo {b}={a}>"hi"</foo>;

创建的 XML 稍有不同:<foo bar="2">"hi"</foo>。

注意:XML 元素只接受文本作为他们的值。大括号标记真正发生的是调用变量的 toString 方法,并将返回值填到相应位置。例如:

var a = {foo: 1}; var b = <bar>{a}</bar>

实际上产生的文档是 <bar>[object Object]</bar>。

在内容中使用内联函数

虽然大括号限定执行单条语句,但通过匿名函数内联可以执行一些额外的处理:

var a = 'foo'; var b = <bar>{function () {var c = a.toUpperCase(); var d = 5 * 5; return c + d;}()}</bar>

上述代码产生:<bar>FOO25</bar>

该用法更多的讨论请参加 E4X for templating 。

序列化

E4X 最强大的工具就是简单地调用 .toXMLString() 就可以将整个 XML 文档(或其中部分)序列化到字符串中。

var element1 = <foo/>; var element2 = <bar/>; element1.apppendChild(element2); element1.toXMLString();

输出为:

<foo><bar/> </foo>

本例使用 toString() 也能达到相同效果,不过在一个只有文本内容的元素上调用 toString() 将之产生文本内容(例如,<foo>abc</foo>.toString(); 会只产生 'abc')。


为方便其他朋友提问和指正,转载是请保持文章完整性,并以超链接形式注明原始作者“redraiment ”和主站点 地址,谢谢。

联系方式

我的邮箱,欢迎来信(redraiment@gmail.com )
我的CSDN博客(梦婷轩 ):http://blog.csdn.net/redraiment
我的百度空间(梦婷轩 ):http://hi.baidu.com/redraiment

E4X教程[1] - 入门相关推荐

  1. python语言入门详解-python初级教程:入门详解

    python初级教程:入门详解 Crifan Li 目录 前言 .................................................................... ...

  2. Android Studio2.0 教程从入门到精通Windows版

    系列教程 Android Studio2.0 教程从入门到精通Windows版 - 安装篇 Android Studio2.0 教程从入门到精通Windows版 - 入门篇 Android Studi ...

  3. grub4dos初级教程-入门篇

    grub4dos初级教程-入门篇 2008年04月21日 星期一 15:37 0 为何写此初级教程? 假如你是第一次听说grub,你可能说我不需要grub.那么,你是否用过"一键ghost& ...

  4. 单片机独立式按键c语言程序,(原创)51单片机C语言程序设计--速学教程实例(入门篇)之独立按键(查询)...

    (原创)51单片机C语言程序设计--速学教程实例(入门篇)之独立按键(查询) /************************************************************ ...

  5. Oracle数据库基础教程:入门其实很简单

    为什么80%的码农都做不了架构师?>>>    Oracle数据库基础教程:入门其实很简单 Oracle数据库系统是目前最流行的客户/服务器数据库之一.本文集从初学者的角度出发,由浅 ...

  6. jquery validate 中文教程【入门到精通】

     jquery validate 中文教程[入门到精通] jQuery Validate 插件为表单提供了强大的验证功能,让客户端表单验证变得更简单,同时提供了大量的定制选项,满足应用程序各种需求 ...

  7. python基础教程博客_Python基础教程_Python入门知识

    Python基础教程频道为编程初学者提供入门前的所有基础知识,必须要掌握的一些PYTHON基础语法语句,基本的数据类型. 让大家可以更快速.更容易理解的的方式掌握Python编程所需要的基础知识,灵活 ...

  8. CSS的预编译——less语言基本语法教程(入门)

    less语言基本语法教程(入门) 一.CSS解析 css是一门标记性语言,语法简单,对使用者的要求也比较低. 缺点:1.对于css:使用css时需要书写大量的看似没有逻辑的代码,不方便维护和扩展,不利 ...

  9. wxpython中文教程_wxPython中文教程 简单入门加实例

    wxPython中文教程简单入门加实例 博客分类: Python 2 / Wxpython wxPythonPython编程浏览器脚本 wx.Window 是一个基类,许多构件从它继承.包括 wx.F ...

最新文章

  1. Android—— 定制界面风格
  2. Red Hat Linux 挂载外部资源
  3. 安装Terminator和快捷键使用
  4. FreeRTOS 查询任务 剩余的栈空间的 方法
  5. python 检查文件是否存在_Python中如何判断文件是否存在?
  6. mac下SecureCRT连接阿里云服务器最新教程
  7. hdu 3016 Man Down
  8. 微型计算机中celeron,微型计算机中常提及的Pentium或Celeron是指其_______
  9. 用户关闭浏览器页器,弹出一个提示
  10. 这几个5.20表白代码发给你女神,还没有女朋友直接来找我!
  11. 数据分析挖掘全套课程视频spss/sas/R/excel/案例实战体系教学
  12. IBM ServerGuide引导安装指南
  13. AxureRP8.1(注册码)破解汉化教程
  14. Android 微信高性能日志存储库Xlog的使用
  15. RStudio 开发环境配置
  16. iPhone手机Mac地址查看
  17. android项目学习心得(全源导航)
  18. 【鸿蒙】HiSpark Wifi IOT开发板资料汇总
  19. 算力网络发展中的若干关键技术问题分析
  20. nvm use不生效

热门文章

  1. 网页爬虫原理及java实现
  2. MES系统在医疗器械行业的应用
  3. HeidiSQL连接MySQL问题解决
  4. Xlog加密使用指引
  5. 散场电影,给一个陌生人看:伤感日志
  6. 你还不了解结构体吗?带你深入了解结构体
  7. 一文彻底搞懂01背包算法
  8. 【日本动漫十月新番尝鲜】吸血鬼骑士 第二季
  9. word2003应用基础
  10. lds天线技术流程图_LDS天线技术全面解析