JavaScript语言精粹.pdf

JavaScript语言精粹.pdf
 

书籍描述

编辑推荐
《JavaScript语言精粹(修订版)》是介绍JavaScript语言本质的权威书籍,值得任何正在或准备从事JavaScript开发的人阅读,并且需要反复阅读。

作者简介
作者:(美国)道格拉斯·克罗克福德(Douglas Crockford) 译者:赵泽欣 鄢学鸥

道格拉斯·克罗克福德(Douglas Crockford)是一名来自Yahoo!的资深JavaScript架构师,以创造和维护JSON(Javascript Object Notation)格式而为大家所熟知。他定期在各类会议上发表有关高级JavaScript的主题演讲。他也是ECMAScript委员会的成员之一。

目录
前言
第1章精华1
为什么要使用JavaScript2
分析JavaScript2
一个简单的试验场4
第2章语法5
空白5
标识符6
数字7
字符串8
语句10
表达式15
字面量18
函数19
第3章对象20
对象字面量20
检索21
更新22
引用22
原型22
反射23
枚举24
删除24
减少全局变量污染25
第4章函数26
函数对象26
函数字面量27
调用27
参数30
返回31
异常31
扩充类型的功能32
递归33
作用域36
闭包36
回调39
模块40
级联42
柯里化43
记忆43
第5章继承46
伪类46
对象说明符49
原型50
函数化51
部件55
第6章数组57
数组字面量57
长度58
删除59
枚举59
容易混淆的地方60
方法60
指定初始值62
第7章正则表达式64
一个例子65
结构69
元素71
第8章方法77
Array77
Function83
Number84
Object85
RegExp86
String88
第9章代码风格94
第10章优美的特性98
附录A毒瘤101
附录B糟粕109
附录CJSLint115
附录D语法图127
附录EJSON138
索引149

文摘
版权页:

JavaScript语言精粹

插图:

JavaScript语言精粹

第4章
函数
JavaScript设计得最出色的就是它的函数的实现。它几乎接近于完美。但是,想必你也能预料到,JavaScript的函数也存在瑕疵。
函数包含一组语句,它们是JavaScript的基础模块单元,用于代码复用、信息隐藏和组合调用。函数用于指定对象的行为。一般来说,所谓编程,就是将一组需求分解成一组函数与数据结构的技能。
函数对象
JavaScript中的函数就是对象。对象是“名/值”对的集合并拥有一个连到原型对象的隐藏连接。对象字面量产生的对象连接到Object.prototype。函数对象连接到Function.prototype(该原型对象本身连接到Object.prototype)。每个函数在创建时会附加两个隐藏属性:函数的上下文和实现函数行为的代码。
每个函数对象在创建时也随配有一个prototype属性。它的值是一个拥有constructor属性且值即为该函数的对象。这和隐藏连接到Function.prototype完全不同。这个令人费解的构造过程的意义将会在下个章节中揭示。
因为函数是对象,所以它们可以像任何其他的值一样被使用。函数可以保存在变量、对象和数组中。函数可以被当做参数传递给其他函数,函数也可以再返回函数。而且,因为函数是对象,所以函数可以拥有方法。
函数的与众不同之处在于它们可以被调用。
调用
调用一个函数会暂停当前函数的执行,传递控制权和参数给新函数。除了声明时定义的形式参数,每个函数还接收两个附加的参数:this和arguments。参数this在面向对象编程中非常重要,它的值取决于调用的模式。在JavaScript中一共有4种调用模式:方法调用模式、函数调用模式、构造器调用模式和apply调用模式。这些模式在如何初始化关键参数this上存在差异。
调用运算符是跟在任何产生一个函数值的表达式之后的一对圆括号。圆括号内可包含零个或多个用逗号隔开的表达式。每个表达式产生一个参数值。每个参数值被赋予函数声明时定义的形式参数名。当实际参数(arguments)的个数与形式参数(parametem)的个数不匹配时,不会导致运行时错误。如果实际参数值过多了,超出的参数值会被忽略。

内容简介
JavaScript曾是“世界上最被误解的语言”,Douglas Crockford在《JavaScript语言精粹(修订版)》中剥开了JavaScript沾污的外衣,抽离出一个具有更好可靠性、可读性和可维护性的JavaScript子集,让你看到一门优稚的、轻量级的和非常富有表现力的语言。作者从语法、对象、函数、继承、数组、正则表达式、方法、样式和优美的特性这9个方面来呈现这门语言真正的精华部分,通过它们完全可以构建出优雅高效的代码。作者还通过附录列出了这门语言的糟粕和鸡肋部分,且告诉你如何避免它们。最后还介绍了JSLint,通过它的检验,能有效地保障我们的代码品质。

购买书籍

当当网购书 京东购书 卓越购书

PDF电子书下载地址

相关书籍

搜索更多