
| 全面破除当前普遍存在的错误认识,让您不走弯路。包含ECMAScript5最新语法,涵盖AJAX、DOM和ActiveXObject。与HTML5、CSS3紧密结合,紧跟时代进展。完整、系统、全面的知识体系,新功能、新特性一览无余。以近500余范例解释理论,清楚易懂,让你轻松上手。浏览器兼容性提示,让您学以致用,工作中游刃有余。 |
| 张亚飞,务实且极富远见的万维网权威大师。《万维网应用程序开发纲要》的起草者。多本权威书籍的撰写者,浸淫万维网15年,功力非凡。 |
| 第i篇ecmascript和javascript语言基础入门篇 第1章 正确认识ecmascript5和javascript 1.1ecmascript和javascript的关系 1.1.1关于标准和实现 1.1.2javascript与ecmascript版本的关系 1.2有关javascript的认识 1.2.1区分javascript和jscript 1.2.2javascript不是解释型java语言 1.2.3什么是脚本语言 1.2.4区分客户端和服务端javascript 第2章 准备开发环境和运行环境 2.1正确认识javascript的开发工具 2.1.1dreamweaver的安装和配置向导 2.1.2aptanastudio的安装和配置向导 2.2准备执行环境 2.2.1浏览器的发展史 2.2.2安装浏览器 2.2.3在浏览器中启用javascript执行环境 第3章 在网页中编写javascript脚本代码 3.1创建第一个javascript应用程序 3.1.1使用dreamweaver编写javascript 3.1.2使用aptanastudio编写javascript 3.2在html网页中书写javascript脚本代码 3.2.1使用script元素定义脚本代码 3.2.2在事件属性值中定义脚本 3.2.3在超链接中定义脚本 3.3浏览器不支持脚本时应注意的问题 3.3.1noscript元素 3.3.2关于隐藏脚本数据 3.4声明脚本语言 3.4.1默认的脚本语言 3.4.2脚本语言的本地声明 第4章 程序开发的基石--声明和使用变量 4.1变量的声明 4.1.1声明和命名变量 4.1.2变量和标识符的命名规范 4.1.3变量的数据类型 4.1.4自定义常量和内建常量 4.2在程序中使用变量 4.2.1为变量赋值和更改变量值 4.2.2使用变量和获取变量值 4.3变量的传值和传址 4.3.1传值变量--按值传递 4.3.2传址变量--按引用传递 4.4内存使用规则--堆和栈 4.4.1栈的使用规则 4.4.2堆的使用规则 4.4.3易犯的错误 4.5数据类型转换 第5章 javascript语法规范和良好的编程习惯 5.1空白和多行书写 5.2点语法 5.3花括号 5.4分号 5.5圆括号 5.6字母的大小写 5.7程序注释 5.7.1单行注释和尾随注释 5.7.2多行注释 5.7.3文档注释 5.7.4html注释 5.8关键字 5.9培养良好的编程习惯 5.9.1通用的变量名、方法名和类名命名约定 5.9.2重构 5.9.3使用注释 5.1ecmascript5严格模式 5.10.1使用严格模式 5.10.2严格模式的特定要求 第6章 数据运算和运算规则 6.1javascript表达式 6.1.1简单表达式和复杂表达式 6.1.2赋值表达式和单值表达式 6.2算术运算符 6.2.1算术运算符的使用 6.2.2进行算术运算时的注意事项 6.3赋值运算符 6.4字符串运算符 6.5比较运算符和逻辑运算符 6.5.1数据类型的影响 6.5.2全等运算符 6.5.3特殊值的比较 6.5.4易犯错的比较运算 6.6位运算符 6.7其他运算符 6.7.1三元条件运算符 6.7.2typeof运算符 6.7.3instanceof运算符 6.7.4圆括号和逗号运算符的结合使用 6.7.5delete运算符 6.7.6void运算符 6.8运算符的使用规则 6.8.1运算符的优先级规则 6.8.2运算符的结合规则 6.9运行时进行类型检查 第7章 流程控制 7.1语句和语句块 7.2if…else条件语句 7.3switch条件语句 7.4do...while循环 7.5for循环 7.6for...in循环 7.7foreach...in循环 7.8其他流程控制 7.8.1break语句 7.8.2continue语句 7.8.3标签语句 7.8.4let语句 7.8.5yield语句 7.9with语句 7.1流程控制总结 第8章 内建的全局函数 8.1eval()函数 8.2转义操作函数 8.2.1escape()和unescape()函数 8.2.2encodeuri()和decodeuri()函数 8.2.3encodeuricomponent()和decodeuricomponent()函数 8.3转换函数 8.3.1parsefloat()函数 8.3.2parseint()函数 8.3.3number()和string()函数 8.3.4boolean()函数 8.4判断函数 8.4.1isfinite()函数 8.4.2isnan()函数 第9章 自定义函数 9.1函数的定义 9.2函数的调用 9.2.1在函数中定义参数的初始值 9.2.2嵌套函数的定义和调用 9.2.3条件函数的定义和调用 9.2.4特殊的调用方式 9.3使用函数表达式定义函数(匿名函数) 9.3.1函数表达式和函数语句的区别 9.3.2匿名自执行函数 9.4使用function类定义函数 9.5变量的作用范围和生命周期 9.5.1了解变量的作用范围和生命周期 9.5.2局部变量的声明 9.5.3全局变量的声明 9.5.4全局变量和局部变量的使用 9.5.5易出错的变量使用 9.6形参和实参 9.7闭包函数(绑定函数) 9.7.1什么是闭包函数 9.7.2闭包函数常用的环境 9.7.3易犯的错误 9.8产生器 第ii篇javascript面向对象编程篇 第10章 面向对象编程(oop)--创建类和使用类 10.1面向对象编程思想 10.1.1对象的抽象 10.1.2对象的使用 10.1.3易犯的错误 10.1.4面向对象程序设计的优点和基本特征 10.1.5面向对象和结构化程序设计的区别 10.2创建类 10.2.1创建一个javascript类 10.2.2类的定义 10.2.3关于构造器方法 10.2.4获取构造器方法 10.3类的使用 10.3.1创建类的实例 10.3.2访问对象属性 10.3.3调用对象方法 10.3.4调用静态方法和访问静态属性 10.4使用this关键字定义方法和属性 10.5使用prototype定义方法和属性 10.5.1使用prototype定义方法 10.5.2使用prototype定义属性 10.5.3关于prototype和__proto__属性 10.6使用object类为实例定义方法和属性 10.6.1使用return语句定义方法和属性 10.6.2使用prototype和object配合为类定义方法和属性 10.7使用get和set存取器方法定义属性 10.8在类体内使用this关键字 10.8.1使用this时易犯的错误 10.8.2闭包方法(绑定方法)内的this关键字 10.8.3事件处理中的闭包 10.8.4另一个使用this时易犯的错误 第11章 建立更可靠的oop程序--类和成员的访问控制 第12章 重复使用类--继承和组合 12.1类的继承 12.1.1创建子类 12.1.2使用基类的构造器方法 12.1.3检测继承关系 12.1.4使用$super实现访问基类 12.1.5创建子类时的注意事项 12.2扩展内建javascript类 12.3类的组合 12.3.1实现类的组合 12.3.2组合的优点 12.3.3了解is-a和has-a 12.3.4关于聚合和组合 第13章 静态成员、静态类和枚举(enumeration) 13.1定义静态成员和静态类的意义 13.2创建静态成员 13.2.1使用静态成员 13.2.2静态成员和继承 13.2.3使用静态成员的注意事项 13.3静态类及其声明方法 13.4枚举(enumeration) 13.4.1创建枚举 13.4.2使用枚举的优点 第14章 多态(polymorphism)--重载和覆载 14.1方法的重载(overload) 14.1.1重载参数列表的数量 14.1.2重载参数列表的数据类型 14.2方法的覆载(override) 14.3属性的覆载 第15章 原型链本质论 15.1原型链的根源 15.1.1内部属性 15.1.2访问内部属性[prototype] 15.2prototype的作用--原型链的实现 15.2.1实现继承 15.2.2分享属性(和方法) 15.2.3__proto__和prototype属性的区别 15.2.4使用ecmascript5新增的原型处理功能 15.3检查原型链 15.3.1查看对象是否在指定对象的原型链中 15.3.2查看指定对象是否定义了特定属性和方法 15.3.3使用hasownproperty()方法过滤原型链 15.3.4查看指定对象是否定义了特定属性且可以枚举 第16章 ecmascript5增强的对象模型 16.1属性和描述符 16.1.1易犯的错误 16.1.2使用ecmascript5增强的对象模型定义属性 16.1.3定义get和set存取器方法 16.1.4一次定义多个属性 16.1.5获取特定属性的属性描述符 16.2枚举属性 16.2.1object.keys(obj)方法 16.2.2object.getownpropertynames(obj)方法 16.3密封对象和动态对象 16.3.1密封对象不允许添加成员 16.3.2密封对象不允许添加和删除成员 16.3.3完全密封对象 16.3.4易犯的错误 16.4根据原型创建对象 第17章 处理字符串--string类和正则表达式 17.1正则表达式语法 17.1.1正则表达式的基本语法 17.1.2优先权顺序 17.2使用regexp处理字符串正则匹配 17.2.1创建一个regexp对象 17.2.2使用exec()和test()方法进行正则匹配 17.3使用string类处理字符串 17.3.1string类的方法和属性 17.3.2创建打字机效果 17.3.3使用match()方法 17.3.4使用replace()方法 17.3.5使用$替换变量 17.3.6使用search()方法 17.3.7使用split()方法 17.3.8创建html格式的字符串 第18章 数组、多维数组和复合数组(哈希映射) 18.1创建数组 18.1.1创建数组的基本方法 18.1.2使用索引数组 18.1.3使用全局函数array()时的注意事项 18.2实现和使用多维数组 18.3使用arrayapi处理数组 18.3.1常用的范例 18.3.2ecmascript5新增方法的使用 18.3.3数组的排序 18.4克隆数组 18.4.1浅表克隆 18.4.2深度克隆 18.5创建和使用复合数组 18.5.1使用object对象创建复合数组 18.5.2使用array对象创建复合数组 18.5.3遍历复合数组 18.6哈希表 18.6.1实现哈希表 18.6.2使用哈希表 18.7array推知 第19章 处理日期和时间 19.1使用date类处理日期和时间 19.1.1返回当前时间和日期 19.1.2返回特定的时间和日期 19.1.3获取特定时间和日期字段 19.1.4设置特定时间和日期字段 19.1.5使用parse()方法解析日期字符串 19.1.6使用date.utc()方法返回时间戳 19.2实现日期输入控件 第20章 其他javascript内建类(核心对象) 20.1使用boolean类处理逻辑值 20.2使用number类进行数字类型转换 20.3使用math类进行复杂的数学运算 20.4使用function和arguments类 20.4.1function类 20.4.2arguments类和arguments属性 20.5json操作 20.5.1序列化javascript数据为json数据 20.5.2逆序列化json数据为javascript数据 第iii篇html5bom篇 第21章 bom之源--window对象 21.1定时器--间隔调用和延迟调用 21.1.1使用setinterval()和clearinterval()方法实现间隔调用 21.1.2范例--创建打字机效果 21.1.3使用settimeout()和cleartimeout()方法实现延迟调用 21.1.4易犯的错误 21.1.5强制清除 21.2基本的交互操作 21.2.1警告对话框 21.2.2确认对话框 21.2.3提示输入消息对话框 21.2.4使用增强的交互式对话框 21.2.5范例--使用交互式对话框相互传值 21.2.6打印 21.3窗口交互操作 21.3.1打开新窗口 21.3.2关闭窗口 21.3.3取消文档加载 21.3.4获取窗口引用 21.3.5调整窗口的焦点 21.4网页和浏览器交互 第22章 bom基本应用--管理浏览历史、解析地址和获取浏览器信息 22.1浏览历史管理 22.2解析地址 22.3获取浏览器信息 22.3.1遍历navigator对象成员 22.3.2检测浏览器类型 22.3.3自定义架构处理 22.3.4自定义内容类型处理 22.3.5手动处理storage独占访问权 22.3.6检测脱机模式 22.4非标准应用 22.4.1screen对象 22.4.2clipboarddata对象 第23章 bom新成就(1)--客户端数据存储技术 23.1web存储 23.2本地存储和会话存储 23.2.1在客户端持久存储数据 23.2.2关于浏览器兼容 23.2.3在会话期存储数据 23.3storage接口 23.3.1获取和更新存储 23.3.2清除存储 23.3.3清除指定的键 23.3.4添加新键和更新键值 23.4storage事件 23.5websqldatabase 23.5.1第1个websqldatabase应用 23.5.2使用websqldatabase的基本步骤 23.6异步数据库 23.6.1执行数据库事务 23.6.2数据库版本管理 23.6.3执行sql语句 23.7同步数据库 23.7.1执行数据库事务 23.7.2数据库版本管理 23.7.3执行sql语句 23.8处理数据库操作结果 23.9错误和异常 23.1在开发人员工具中使用sql语句 23.11sqlitesql语法和数据库的数据类型 23.12sql注入缺陷和参数化查询 第24章 bom新成就(2)--新的服务器通信技术 24.1服务器推送技术 24.1.1使用server-sentevent入门 24.1.2服务器要求 24.1.3使用eventsource对象 24.1.4在webworkers中使用eventsource对象 24.2套接字连接 24.2.1使用websocket入门 24.2.2关于websocket通信协议 24.2.3使用websocket对象 第iv篇dom篇 第25章 html5dom新标准--处理文档元信息和管理交互功能 25.1了解dom 25.1.1dom基于节点树的表现形式 25.1.2什么是htmldom 25.1.3htmldom和核心dom的区别与联系 25.1.4什么是接口 25.2document对象 25.2.1处理文档元信息 25.2.2实用功能--处理cookie 25.2.3检查文档状态 25.2.4开启和关闭文档 25.2.5易犯的错误--区分两个open方法 25.2.6向网页中写入内容 25.2.7清除网页中的内容 25.2.8实用功能--弹出通知窗口 25.2.9使整个文档都可编辑 25.2.10焦点管理 25.3编辑api 25.3.1命令 25.3.2创建网页富文本编辑器 第26章 使用coredom方法处理htmldom树 26.1一切皆是节点--学习dom的首要认识 26.1.1javascriptdomapi的节点类型 26.1.2节点的层次关系 26.2处理dom文档 26.3使用domapi处理html文档 26.3.1基本的节点处理 26.3.2节点名、节点值和属性 26.3.3删除html文档中的元素节点、属性和内容 26.3.4使用replacechild()方法替换节点 26.4主要接口的使用 26.4.1document接口 26.4.2attr接口 26.4.3cdatasection接口 26.4.4characterdata接口 26.4.5comment接口 26.4.6documentfragment接口 26.4.7documenttype接口 26.4.8domexception接口 26.4.9domimplementation接口 26.4.10element接口 26.4.11entity接口 26.4.12entityreference接口 26.4.13notation接口 26.4.14processinginstruction接口 26.4.15text接口 26.4.16nodelist接口 26.4.17namednodemap接口 第27章 使用html5dom扩展coredom方法 27.1使用html5dom访问元素 27.1.1遍历节点树 27.1.2getelementsbytagname()方法 27.1.3getelementsbyname()方法和getter属性 27.1.4getelementbyid()方法 27.1.5getelementsbyclassname()方法 27.1.6关于htmlelement接口 27.1.7innerhtml属性、outerhtml属性和insertadjacenthtml()方法 27.2修改html文档 27.3根据css选择符访问元素 27.4表单处理 27.4.1处理输入控件 27.4.2获取上载文件 27.4.3使用html5domapi验证控件 27.5html5dom通用接口的使用 27.5.1htmlcollection接口 27.5.2htmlallcollection接口 27.5.3htmlformcontrolscollection接口 27.5.4htmloptionscollection接口 27.5.5htmlpropertiescollection接口 27.5.6domtokenlist接口 27.5.7domsettabletokenlist接口 27.5.8domstringmap接口 27.5.9domexception接口 27.5.10radionodelist接口 第28章 使用dhtml和样式dom处理css样式表 28.1在html文档中应用css 28.1.1嵌入式 28.1.2外部引用式 28.1.3内联式 28.2了解规则块、规则和样式 28.2.1规则块 28.2.2规则和样式 28.2.3@规则 28.3处理css 28.3.1使用style属性处理内联css 28.3.2处理style和link元素定义的样式表 28.3.3处理导入的样式表 28.3.4添加指令和规则 28.3.5样式表相关对象 28.4dom样式表 28.4.1stylesheet接口 28.4.2stylesheetlist接口 28.4.3medialist接口 28.4.4linkstyle接口 28.4.5documentstyle接口 28.5domcss规范 28.5.1cssstylesheet接口 28.5.2cssrulelist接口 28.5.3cssrule接口 28.5.4cssimportrule接口 28.5.5cssstylerule接口 28.5.6cssstyledeclaration接口 28.6兼容性指南 28.6.1获取样式规则 28.6.2获取导入的样式规则 28.6.3新增@import规则 28.6.4新增@page规则 28.6.5新增样式规则 28.6.6删除样式规则 第29章 事件dom 29.1基本事件处理 29.1.1事件处理的三要素 29.1.2事件处理的实现 29.1.3事件处理的总结 29.1.4处理事件 29.2事件流 29.2.1捕获阶段(capturingphase) 29.2.2目标阶段(targetingphase) 29.2.3冒泡阶段(bubblingphase) 29.2.4可用的基本交互事件 29.3事件对象 29.4响应键盘事件 29.4.1获取按键 29.4.2响应组合键事件 第30章 dhtml范例 30.1滚动播出效果(marquee) 30.1.1竖直滚动的文本行 30.1.2竖直滚动的图片 30.1.3水平滚动的图片 30.2常用的广告效果 30.2.1广告的随机滚动出现 30.2.2对联广告 30.3导航菜单和选项卡面板 30.3.1二级分层式导航菜单 30.3.2弹出菜单式导航 30.3.3选项卡面板 30.4处理表单 30.4.1表单复选框全选 30.4.2表单的验证 第v篇ajax篇 第31章 xmlhttprequest和ajax解决方案 31.1ajax的核心 31.2ajax的使用 31.2.1一个标准的ajax应用所应具备的步骤 31.2.2xmlhttprequest的方法和属性 31.2.3一个标准的同步调用所应具备的步骤 31.2.4编码混乱问题的解决 31.2.5跨浏览器兼容 31.2.6ajax的特点 31.2.7解决请求被浏览器缓存问题 31.3处理返回值中的xml 31.3.1处理解析错误 31.3.2domparser 31.3.3xmlserializer 31.3.4domimplementation 31.4跨域请求 31.4.1使用代理实现跨域请求 31.4.2使用xdomainrequest 31.4.3xdomainrequest跨域访问控制 第32章 ajax框架--spry和jquery 32.1当前比较流行的ajax框架 32.2spry使用入门 32.2.1第一个spry范例 32.2.2数据集的动态绑定 32.2.3spry框架的组成部分 32.3jquery使用入门 32.3.1第一个jquery范例 32.3.2基本语法 第33章 网页、网站和网络应用程序 33.1安装和设置网络应用程序的运行环境 33.1.1安装iis 33.1.2通过服务器请求网页 33.2web服务器根目录和虚拟目录 33.2.1web服务器根目录 33.2.2虚拟目录 33.2.3启用默认文件 33.3安装asp.net应用程序服务器 第34章 网页的请求和响应 34.1了解请求和响应的基本过程 34.1.1请求和响应的基本过程 34.1.2了解uri、url和urn 34.2http协议基础 34.2.1了解http消息的内容 34.2.2了解http请求的内容 34.2.3了解http响应的内容 34.2.4了解http消息报头的内容 第vi篇安全性、执行效率、部署与实战篇 第35章 javascript安全和同源策略 35.1跨站脚本攻击(xss) 35.1.1如何防范跨站脚本攻击 35.1.2使用asp.net的请求验证防范xss 35.2相同origin策略的限制--同源策略 35.2.1了解origin 35.2.2放松相同起点限制 第36章 javascript部署和高性能javascript 36.1文档瘦身 36.2控制内存 36.3优化代码的一般常识 36.4页面重构--domreflow和repaint 36.4.1关于domreflow和repaint 36.4.2优化domreflow 36.4.3优化repaint 36.5使用webworkers优化javascript执行--多线程 36.5.1检查浏览器支持 36.5.2求素数的复杂运算 36.5.3使用webworkers入门 36.6webworkers规范api 36.6.1worker及其类型 36.6.2worker中可以使用的api 36.6.3创建worker 36.6.4处理运行时错误 36.7创建和使用专职worker 36.7.1终止worker 36.7.2消息的互传 36.8创建和使用共享worker 36.8.1消息的互传 36.8.2连接同一个共享worker 第37章 处理程序异常--建立可靠的应用程序 37.1错误和异常情况 37.2异常情况处理 37.2.1使用try...catch...finally语句 37.2.2使用throw语句 37.2.3使用异常捕捉 37.3使用error处理异常错误信息 37.4条件catch语句 第38章 javascript调试技术 38.1了解开发人员工具 38.2开发人员工具的组成和使用 38.2.1调试工具栏 38.2.2激活javascript调试 38.2.3主要内容窗口 38.2.4使用断点 38.2.5使用条件断点 38.2.6控制执行 38.2.7"局部变量"窗口 38.2.8"监视"窗口 38.2.9"调用堆栈"窗口 38.3使用脚本调试工具范例实战 38.3.1定义一个javascript网页 38.3.2调试实战 38.4"控制台"窗口 38.4.1使用"控制台"窗口 38.4.2对警报和错误消息进行日志记录 第vii篇javascript和activexobject篇 第39章 使用fso访问文件系统 39.1使用filesystemobject类 39.1.1类和集合 39.1.2检查磁盘、文件和文件夹是否存在 39.1.3访问磁盘、文件和文件夹 39.1.4关于ie专用的enumerator 39.2处理文件夹 39.3处理文件 39.3.1创建文件 39.3.2向文件中添加数据 39.3.3读取文件内容 39.3.4textstream类成员概要 39.3.5移动、复制和删除文件 第40章 使用ado访问数据库 40.1安装和使用access数据库 40.1.1安装access数据库软件 40.1.2使用access创建数据库 40.2理解数据库连接和配置数据源 40.2.1理解数据库连接 40.2.2理解数据库连接驱动 40.2.3通过odbc连接数据库 40.3基本数据库查询操作 40.3.1查询和显示数据库记录 40.3.2遍历列出数据库内容 40.4修改数据 40.4.1插入数据记录 40.4.2更新数据记录 40.4.3删除数据记录 40.5操作数据库结构 40.6在javascript程序中应用ado的基本步骤 40.6.1创建连接 40.6.2创建命令 40.6.3执行命令 40.6.4处理结果 40.6.5关闭连接 40.7sql语法入门 40.7.1sql语法的基础知识 40.7.2定义记录集的列 40.7.3限制记录集中的记录 40.7.4对记录集中的记录进行排序 40.7.5联接表 第41章使用msxml处理xml 41.1在javascript应用程序中处理xml文档 41.1.1了解xml文档对象 41.1.2dom基于节点的浏览 41.1.3了解msxmldom组件 41.1.4使用domdocument 41.2创建和保存xml文档对象 41.2.1解析字符串为dom 41.2.2解析xml文件为xmldom 41.2.3使用版本号创建xmldom 41.2.4保存和写出一个xml文档对象 41.3使用xml对象处理数据内容 41.3.1遍历节点树 41.3.2使用getelementsbytagname()方法 41.3.3使用xpath从xml文档中提取数据 41.3.4修改xml文档 41.4使用sax处理xml文档 41.4.1什么是sax 41.4.2sax的工作原理 41.4.3msxmlsax的使用 第42章使用owc创建统计图表 42.1创建简单统计图表 42.1.1创建简单柱状图 42.1.2创建立体柱状图 42.1.3使用样式表创建柱状图 42.2使用officeweb组件(owc)创建统计图表 42.2.1安装owc 42.2.2使用owc 42.2.3owc组件的工作原理 42.2.4创建饼图 42.2.5增加数据系列 42.2.6使用owc配合数据库查询 第43章使用cdo发送和接收电子邮件 43.1安装和使用smtp服务 43.1.1安装smtp服务 43.1.2配置smtp服务 43.1.3配置outlook使用本地smtp服务发送邮件 43.1.4区分pop3和smtp服务 43.2创建发送邮件的javascript应用程序 43.2.1了解cdo 43.2.2创建简单的邮件发送程序 43.2.3使用远程smtp服务 43.2.4了解cdo组件成员 43.2.5smtp服务和cdo组件的工作原理 43.3创建增强的邮件发送程序 43.3.1发送带附件的电子邮件 43.3.2发送多媒体邮件 43.3.3群发邮件--抄送和密送 43.4使用http方式收信 43.4.1分拣邮件 43.4.2管理本地smpt服务接收邮件的基本原理 43.5如何解决错误消息 附录a保留的关键字 附录b键盘键和键控代码值对照表 附录cw3c的xmlhttprequest接口规范 附录dinput元素type属性值与htmlinputelementapi匹配索引 附录ehtml5元素和html5dom接口的对应关系 附录fhtml4和html5事件属性对照表 附录g参考资料来源 |
商品评论(0条)