JavaScript权威指南

出版时间:2011-9  出版社:清华大学出版社  作者:张亚飞  页数:629  
Tag标签:无  

前言

  作为万维网前端最重要的程序语言,JavaScript的出现使得网页和用户之间实现了一种实时、动态的交互关系,并且使网页可以包含更多活动的元素和更加精彩的呈现,此功能现在被称为RIA(富Internet应用)。  所有的浏览器都嵌入有JavaScript解释引擎,这也使JavaScript成为创建RIA的首要程序语言。在过去的几年,AJAX技术的出现使JavaScript成为富Internet应用的核心,随着社会各个组织机构向富Internet应用迁移,JavaScript创造了无限的财富机遇,AJAX也成为开发者推崇的解决方案。  新标准带给开发者更大的机遇  2009年12月,在万维网主要参与者的推动下,ECMAScript5正式被批准成为正式的标准,并提交给ISO/IEC制定为国际标准。这距离前一个版本——ECMAScript3的产生已经过了将近10年,并且也成为近几年来最重大的语言更新,作为万维网前端最重要的程序语言,JavaScript正迎来最大的发展机遇,每个万维网参与者都不能错过,每个开发者也不能错过。  Web标准就是Web的未来  ECMAScript往往被称为JavaScript,后者为更多开发者所熟知。但是JavaScript仅仅是浏览器厂商的一个产品商标的名称,而真正的标准是ECMAScript。对于ECMAScript,不同的浏览器厂商有不同的名称,如Mozilla称为JavaScript,Microsoft称为JScript,Google称为V8,Apple称为JavaScriptCore,Opera则直接称为ECMAScript。  作为万维网的核心语言,HTML在经历了近10年的停滞之后终于迎来了一个新的标准——HTML5。HTML5不仅将成为HTML4的新标准,而且将成为XHTML和HTMLDOM的新标准。同时,HTML5还为BOM第一次明确定义了标准,使得与浏览器交互有了可靠的依据。  所有这一切为浏览器成为应用程序的运行平台提供了坚实的基础,而这一切都需要编写JavaScript程序来实现。  市场前景巨大  ECMAScript5正在快速成长,富Internet应用也正在向更广、更深的领域前进,所有最新版本的主流浏览器都宣布并已经开始支持ECMAScript5,其中包括为Android和iPhone开发的移动浏览器。  这值得所有人密切关注,最近的一两年,会有很多公司进入这个领域。对于年轻一代开发者,ECMAScript5应当是他们的首选技能,因为ECMAScript5会形成很大的市场,会有很多公司需要这方面的人才。  关于本书  本书涵盖了JavaScript开发的所有内容,包括ECMAScript5、OOP、原型链、HTML5BOM、HTML5DOM、CoreDOM、StyleDOM、EventDOM、DHTML、XMLHttpRequest、AJAX、Web Workers、Web Storage、Web SQL Database、Cross Document Messaging、Server-Sent Event、Web Sockets、ActiveXObject、HTA等,可以帮助读者完整、系统地掌握JavaScript的开发知识。  本书的作者是万维网开发的专家,也是《万维网应用程序开发纲要》的起草者,他可以帮助读者完整、系统、快速、有效地掌握JavaScript开发的知识。

内容概要

  本书主要针对网页设计和开发初学者编写,现在学习javascript应该从最新标准ecmascript5开始,这是毋庸置疑的。对于有经验的工程师来说,如果想完整掌握最新的javascript进展,那么使用本书是明智的选择。
  本书包含了javascript
开发的所有内容,包括ecmascript5、oop、原型链、html5bom、html5dom、coredom、styledom、eventdom、dhtml、xmlhttprequest、ajax、web
workers、web storage、web sql database、cross document
messaging、server-sent event、web
sockets、activexobject、hta等。这些功能介绍都严格按照ecmascript5和html5标准的要求编写,并附有详细的范例,侧重于实战。书中提供了各种浏览器兼容性指南,以帮助用户深入理解。
  另外,本书修正了当前普遍存在的错误认识,有利于初学者的学习。
  新的机遇已经到来,对于想尽快掌握javascript新技术的用户来说,本书是最完整的教程,希望本书能成为您学习道路上的领航者。

作者简介

张亚飞——务实且极富远见的万维网权威大师——《万维网应用程序开发纲要》的起草者——多本权威书籍的撰写者,浸淫万维网15年,功力非凡

书籍目录

第1篇 ecmascript和javascript语言基础入门篇
 第1章 正确认识ecmascript5和javascript 
  1.1 ecmascript和javascript的关系 
   1.1.1 关于标准和实现 
   1.1.2 javascript与ecmascript版本的关系 
  1.2 有关javascript的认识 
   1.2.1 区分javascript和jscript 
   1.2.2 javascript不是解释型java语言 
   1.2.3 什么是脚本语言 
   1.2.4 区分客户端和服务端javascript 
 第2章 准备开发环境和运行环境 
  2.1 正确认识javascript的开发工具 
   2.1.1 dreamweaver的安装和配置向导 
   2.1.2 aptana studio的安装和配置向导 
  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 使用aptana studio编写javascript 
  3.2 在html网页中书写javascript脚本代码 
   3.2.1 使用script元素定义脚本代码 
   3.2.2 在事件属性值中定义脚本 
   3.2.3 在超链接中定义脚本 
  3.3 浏览器不支持脚本时应注意的问题 
   3.3.1 noscript元素 
   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.4 html注释 
  5.8 关键字 
  5.9 培养良好的编程习惯 
   5.9.1 通用的变量名、方法名和类名命名约定 
   5.9.2 重构 
   5.9.3 使用注释 
  5.10 ecmascript5严格模式 
   5.10.1 使用严格模式 
   5.10.2 严格模式的特定要求 
 第6章 数据运算和运算规则 
  6.1 javascript表达式 
   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.2 typeof运算符 
   6.7.3 instanceof运算符 
   6.7.4 圆括号和逗号运算符的结合使用 
   6.7.5 delete运算符 
   6.7.6 void运算符 
  6.8 运算符的使用规则 
   6.8.1 运算符的优先级规则 
   6.8.2 运算符的结合规则 
  6.9 运行时进行类型检查 
 第7章 流程控制 
  7.1 语句和语句块 
  7.2 if…else条件语句 
  7.3 switch条件语句 
  7.4 do...while循环 
  7.5 for循环 
  7.6 for...in循环 
  7.7 for each...in循环 
  7.8 其他流程控制 
   7.8.1 break语句 
   7.8.2 continue语句 
   7.8.3 标签语句 
   7.8.4 let语句 
   7.8.5 yield语句 
  7.9 with语句 
  7.10 流程控制总结 
 第8章 内建的全局函数 
  8.1 eval()函数 
  8.2 转义操作函数 
   8.2.1 escape()和unescape()函数 
   8.2.2 encodeuri()和decodeuri()函数 
   8.2.3 encodeuricomponent()和decodeuricomponent()函数 
  8.3 转换函数 
   8.3.1 parsefloat()函数 
   8.3.2 parseint()函数 
   8.3.3 number()和string()函数 
   8.3.4 boolean()函数 
  8.4 判断函数 
   8.4.1 isfinite()函数 
   8.4.2 isnan()函数 
 第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 产生器 
第2篇 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.2 prototype的作用——原型链的实现 
   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 使用ecmascript 5增强的对象模型定义属性 
   16.1.3 定义get和set存取器方法 
   16.1.4 一次定义多个属性 
   16.1.5 获取特定属性的属性描述符 
  16.2 枚举属性 
   16.2.1 object.keys(obj)方法 
   16.2.2 object.getownpropertynames(obj)方法 
  16.3 密封对象和动态对象 
   16.3.1 密封对象不允许添加成员 
   16.3.2 密封对象不允许添加和删除成员 
   16.3.3 完全密封对象 
   16.3.4 易犯的错误 
  16.4 根据原型创建对象 
 第17章 处理字符串——string类和正则表达式 
第3篇 html5bom篇
第4篇 dom篇
第5篇 javascript和activexobject篇
附录a 保留的关键字 
附录b 键盘键和键控代码值对照表 
附录c w3c的xmlhttprequest接口规范 
附录d input元素type属性值与htmlinputelement api匹配索引 
附录e html5元素和html5dom接口的对应关系 
附录f html4和html5事件属性对照表 
附录g 参考资料来源

章节摘录

版权页:插图:要了解JavaScript,首先要了解什么是脚本语言。目前,动态的应用程序一般使用两种方式实现:二进制方式和脚本方式。二进制(Binary)方式就是先将编写的程序代码编译为机器可识别的指令代码,然后再执行。这种编译好的程序用户只能执行和使用,看不到原始程序的内容。脚本( Script)方式是使用一种特定的描述性语言,依据一定的格式编写的文本文件。简单地说,就是一条一条的文字命令,这些文字命令用户可以使用“记事本”程序看到。脚本程序也是可执行文档,在执行时,由一个解释引擎(该解释引擎也是一个二进制的应用程序)将其逐条翻译成机器可识别的指令,并按程序顺序执行。因为脚本在执行时多了一道翻译的程序,所以它比二进制程序的执行效率要稍低一些。我们经常能看到的各种动态语言,如VBScript、JavaScript、Script、PHP、CGI、JSP、CFML等,都是脚本语言。1.客户端脚本在脚本语言中,有些是作为客户端脚本语言来运行的,它们由客户端的解释引擎来解释。例如VB Script、JavaScript、Script等都可以作为客户端脚本语言,当它们被嵌入到HTML文件中时,可以按照顺序执行或者响应某个事件而对事件做出应答。客户端脚本语言一般用来创建动画效果、执行简单的验证等,从而丰富了网页的呈现。客户端脚本代码在客户端执行,可以在网页中增加动态效果和交互功能,丰富网页。例如,下面是一些较常用的,实现动态效果和交互的简单功能:(1)当文档被加载到客户端后,文档中的脚本可以动态计算,从而动态地修改文档的内容。(2)脚本可以用来获取表单控件中的输入数据。一般,开发人员会使用这一功能来验证用户输入数据的有效性,如检测用户输入的密码是否至少6位长度等。

编辑推荐

《JavaScript权威指南:ECMAScript5+HTML5DOM+HTML5BOM》涵盖了JavaScript开发的所有内容,包括ECMAScript5、OOP、原型链、HTML5BOM、HTML5DOM、CoreDOM、StyleDOM、EventDOM、DHTML、XMLHttpRequest、AJAX、WebWorkers、WebStorage、WebSQLDatabase、Cross Document Messaging、Server-Sent Event、Web Sockets、ActiveXObject、HTA等,可以帮助读者完整、系统地掌握JavaScript的开发知识。《JavaScript权威指南:ECMAScript5+HTML5DOM+HTML5BOM》的作者是万维网开发的专家,也是《万维网应用程序开发纲要》的起草者,他可以帮助读者完整、系统、快速、有效地掌握JavaScript开发的知识。全面破除当前普遍存在的错误认识,让您不走弯路,包含ECMAScripts最新语法,涵盖AJAX、DOM和ActiveXObject,与HTML5、CSS3紧密结合,紧跟时代进展完整,系统,全面的知识体系,新功能,新特性一览无余,以近500余范例解释理论,清楚易懂,让你轻松上手,浏览器兼容性提示,让您学以致用,工作中游刃有余。亲自撰写,全面引领下一代万维网技术,不容错过最新版JavaScript-ECMAScript5。专业级教学视频,实例源程序下载。

图书封面

图书标签Tags

评论、评分、阅读与下载


    JavaScript权威指南 PDF格式下载


用户评论 (总计19条)

 
 

  •   是最新版的,还是中文的,实用
  •   介绍的很详细,有研究的价值
  •   书质量挺好,内容也不错
  •   很厚的一本,而且是清华翻译的,应该很不错。
  •   不错~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  •   很好,和照片上差不多
  •   内容的很全面。。。。
  •   通俗易动,能有更多的实战项目举例就完美了 哈
  •   只是有些方面需要,真得一般般,电脑书还是国外的好很多.
  •   基本不错 就是有些深
  •   首先,本书定位不明确:一脚天上,一脚地下;前面还在讲语法,后面“噌”就窜到HTML接口上去了----不知道作者是怎么跳跃的。一本书应该循序渐进,初学者重点看语法和DOM就行,资深开发者可以研究一下具体某个对象的某个接口定义。在同一本书中同时出现还真是奇葩!最可恨的是,作为卖点的HTML5的相关内容基本上就是把英文文档翻译了一下,相当于一本汉字版的开发手册,还是那种连示例都不带的那种。
    其次,作者自己采用的是很诡异的变量命名方式:变量命名本来就带有很大的个人特色,但是我可以很肯定的说,作者采用的是一种神乎其神的命名方式,属于那种裹脚布类型的命名方式,基本上就是前缀o,s加上全套的对象名。不是说不能这么用,关键是能让人想吐。反正我肯定的是这不属于主流的任何一种命名方法,您老用用最传统的驼峰式命名能怎么地,这是写书,不是开发代码----自己开发时您爱咋地咋地。这个是我N本各种开发书中唯一一个使用这种命名的作者。
    最后,也是最关键的一点:章节顺序完全没有逻辑性可言。从开始的几个实例就开始涉及到后来才能用到的好多东西,却不带有任何解释----劳驾你下回用简单的实例说明简单的事情就行了,省的大家一头雾水,万一打击了积极性咋办。
    顺带一说,本书基本上没有什么拿的出门的示例,全是不知所云又没啥实际用途的为了示例而专门写的示例(居然还写得如此差。。。),只有几个网页效果的代码(这完全对不起“权威指南”。。。)。
    总结:如果是像我一样有开发经验,想学习HTML5新特性的,可以直接忽略此书:不如直接看英文文档来的省心;如果使初学者,建议远离此书,没准进境更快些,起码不至于用这种诡异的变量命名方式来恶心代码维护人员。
    PS:鄙视出版社,仿照人家的封面印上动物,还以为是O'REILLY的翻译书籍呢,结果到手之后才发现自己悲剧了,这连李鬼都不是。最恶心的是传说中的实例源代码和专业教学视频:几分钟教你怎么安装各种浏览器和开发工具。。。我勒个去!至于源代码,你丫这本书总共也没几个代码,自己手工敲都来得及。看看人家O社的书,完全的代码放不到书上,才会打包,供大家学习研究;至于你这本,总共几分钟的视频和完全无用的代码,只能说浪费时间。
    这个作者自己根本不懂HTNL5,因为涉及到该部分新特性就没有任何示例了,有也是那种开发手册上的东西,基本上就是各种表格的抄袭。
  •   速度慢了点,
  •   是正版,纸质不错,很喜欢,只是封面比较脏,里面是新的
  •   本来想买O'Reilly的那本,看评论说翻译不好。就改买这本,结果大失所望。写的太没深度了,和这个书名完全不符。顶多算个速查手册。
  •   这本书,质量很不错。价格也很实惠。赞!
  •   很厚很全,很多以前不确定的知识点书上都有讲解,是个不错的工具书。
  •   速度很快,包装有点简洁,书有部分褶皱,不过不影响使用阅读,总体说来还是不错.内容还没来得急看,窒息翻阅了一下,讲得很详细,适合初学者.
  •   从纯语言编程的角度介绍 与html实例特效结合的例子几乎很少 很基础 全面
  •   书名起的绝对不行。真正的权威指南是图腾,是不可超越的,他培养了中国几代开发者。这本书除非拿出真材实料否则只能是搬起石头砸自己的脚。
 

250万本中文图书简介、评论、评分,PDF格式免费下载。 第一图书网 手机版

京ICP备13047387号-7