描述
开 本: 16开纸 张: 胶版纸包 装: 平装-胶订是否套装: 否国际标准书号ISBN: 9787115444394
编辑推荐
全球销量逾百万册的系列图书;
连续十余年打造的经典图书;
直观、循序渐进的学习教程;
掌握关键知识的起点;
“Read Less,Do More”(精读多练)的教学理念;
以示例引导读者完成常见的任务;
每章内容针对初学者精心设计,1小时轻松阅读学习,24小时彻底掌握关键知识;
每章案例与练习题助你轻松完成常见任务;
通过实践提高应用技能,巩固所学知识。
通过阅读本书,读者可以掌握如何使用Swift编程语言开发下一代OS X和iOS应用。本书采用直观、循序渐进的方法进行讲解,旨在帮助读者快速掌握Swift的核心概念、架构、语法,以及应用Swift中的扩展、闭包、协议和泛型等特性,从而编写安全强壮的代码。本书每章内容都建立在已学的知识之上,从而为读者理解Swift的编程概念和方法打下坚持的基础。
循序渐进的示例引导读者完成常见的Swift开发任务。
问与答、测验和练习帮助读者检验知识的掌握情况。
“注意”、“提示”和“警告”指出捷径和解决方案。
本书内容:
探索Swift 2.0的Xcode 7开发环境;
掌握Swift的基本数据类型;
使用操作符对值进行修改、分配、合并、检查或验证;
使用数组、集合和字典在内存中保留数据和第1选项;
控制程序流,修改执行路径,并迭代代码;
使用Swift 2.0中改进的函数来执行复杂的操作;
处理高阶函数和闭包;
利用结构体、枚举、类和类继承的功能;
使用Swift中的高级内存分配和引用;
使用协议来定义行为并探究面向协议的编程;
使用扩展添加类型功能;
平滑地处理错误;
利用泛型来创建灵活可重用的代码;
与Objective-C代码交互;
了解并思考Swift中的函数式编程。
读者可通过www.epubit.com.cn book details 4117下载本书源代码。
连续十余年打造的经典图书;
直观、循序渐进的学习教程;
掌握关键知识的起点;
“Read Less,Do More”(精读多练)的教学理念;
以示例引导读者完成常见的任务;
每章内容针对初学者精心设计,1小时轻松阅读学习,24小时彻底掌握关键知识;
每章案例与练习题助你轻松完成常见任务;
通过实践提高应用技能,巩固所学知识。
通过阅读本书,读者可以掌握如何使用Swift编程语言开发下一代OS X和iOS应用。本书采用直观、循序渐进的方法进行讲解,旨在帮助读者快速掌握Swift的核心概念、架构、语法,以及应用Swift中的扩展、闭包、协议和泛型等特性,从而编写安全强壮的代码。本书每章内容都建立在已学的知识之上,从而为读者理解Swift的编程概念和方法打下坚持的基础。
循序渐进的示例引导读者完成常见的Swift开发任务。
问与答、测验和练习帮助读者检验知识的掌握情况。
“注意”、“提示”和“警告”指出捷径和解决方案。
本书内容:
探索Swift 2.0的Xcode 7开发环境;
掌握Swift的基本数据类型;
使用操作符对值进行修改、分配、合并、检查或验证;
使用数组、集合和字典在内存中保留数据和第1选项;
控制程序流,修改执行路径,并迭代代码;
使用Swift 2.0中改进的函数来执行复杂的操作;
处理高阶函数和闭包;
利用结构体、枚举、类和类继承的功能;
使用Swift中的高级内存分配和引用;
使用协议来定义行为并探究面向协议的编程;
使用扩展添加类型功能;
平滑地处理错误;
利用泛型来创建灵活可重用的代码;
与Objective-C代码交互;
了解并思考Swift中的函数式编程。
读者可通过www.epubit.com.cn book details 4117下载本书源代码。
内容简介
《Swift入门经典(第2版)》基于Apple发布的Swift编程语言进行编写,循序渐进地介绍了使用Swift编写安全、强大的代码所需要的基本概念、架构和语法等知识。
《Swift入门经典(第2版)》分为24章,内容包括Swift开发环境简介,Swift的基本数据类型,运算符,处理集合类型,使用条件语句控制程序流程,可选值,利用循环迭代代码,使用函数执行动作,了解高阶函数和闭包,结构体和类的类继承,枚举,自定义类,属性,添加高级类型功能,内存分配和引用的概念,处理可选链接,泛型简介,面向协议编程,错误处理,与Objective-C的交互性,以及Swift中的函数式编程。
《Swift入门经典(第2版)》内容深入浅出,通过简洁的语言和详细的步骤,帮助读者迅速掌握Swift开发所需要的知识。本书适合没有任何编程经验的新手阅读,也适合有志于从事iOS开发的人员阅读。
《Swift入门经典(第2版)》分为24章,内容包括Swift开发环境简介,Swift的基本数据类型,运算符,处理集合类型,使用条件语句控制程序流程,可选值,利用循环迭代代码,使用函数执行动作,了解高阶函数和闭包,结构体和类的类继承,枚举,自定义类,属性,添加高级类型功能,内存分配和引用的概念,处理可选链接,泛型简介,面向协议编程,错误处理,与Objective-C的交互性,以及Swift中的函数式编程。
《Swift入门经典(第2版)》内容深入浅出,通过简洁的语言和详细的步骤,帮助读者迅速掌握Swift开发所需要的知识。本书适合没有任何编程经验的新手阅读,也适合有志于从事iOS开发的人员阅读。
目 录
第1章 Swift开发环境简介 1
1.1 什么是Swift 2
1.2 起步 2
1.2.1 四处看看 2
1.2.2 Xcode playground 5
1.2.3 Swift REPL 7
1.3 小结 8
1.4 问与答 9
1.5 作业 9
第2章 学习Swift的基本数据类型 11
2.1 Swift中的常量 11
2.2 Swift中的变量 12
2.3 数据类型简介 13
2.3.1 类型推断 13
2.3.2 数据类型 14
2.3.3 初始化值 19
2.4 小结 20
2.5 问与答 20
2.6 作业 20
第3章 使用Swift中的运算符 22
3.1 一元运算符 22
3.1.1 递增和递减运算符 23
3.1.2 逻辑“非”运算符 23
3.1.3 一元减法运算符 23
3.2 二元运算符 24
3.2.1 标准算术运算符 24
3.2.2 余数运算符 24
3.2.3 赋值运算符 25
3.2.4 复合赋值运算符 25
3.2.5 比较运算符 25
3.2.6 范围运算符 26
3.2.7 逻辑运算符 27
3.3 三元条件运算符 29
3.4 小结 29
3.5 问与答 30
3.6 作业 30
第4章 处理集合类型 32
4.1 数组 32
4.1.1 用于访问值的索引和下标 34
4.1.2 操作数组 35
4.1.3 常用数组方法和属性 38
4.2 字典 38
4.2.1 键-值对 39
4.2.2 初始化字典 39
4.2.3 关于字典的类型推断 40
4.2.4 向字典中添加数据 40
4.2.5 从字典中移除键-值对 41
4.2.6 常用字典方法和属性 42
4.3 集 42
4.4 元组 46
4.5 小结 46
4.6 问与答 47
4.7 作业 47
第5章 利用条件语句控制程序流程 49
5.1 if语句 49
5.2 switch语句 53
5.2.1 不仅仅匹配Int值 54
5.2.2 switch语句的范围匹配 55
5.2.3 switch语句的元组匹配 57
5.2.4 利用where关键字细化switch case
语句 57
5.2.5 转移执行的控制权 58
5.2.6 稍微高级一点的模式匹配 60
5.3 小结 60
5.4 问与答 61
5.5 作业 61
第6章 了解可选值 63
6.1 什么是可选值 63
6.2 怎样将变量指定为可选的 64
6.3 包装和解包可选变量 65
6.3.1 利用解包运算符进行强制解包 65
6.3.2 可选绑定以解包变量 66
6.3.3 隐式解包的可选值 67
6.3.4 nil合并运算符 68
6.3.5 解包多个可选值 68
6.4 可选值的用例 69
6.5 小结 71
6.6 问与答 71
6.7 作业 72
第7章 利用循环迭代代码 73
7.1 两种循环类型 73
7.1.1 while循环 74
7.1.2 for循环 77
7.2 在循环中转移控制权 84
7.2.1 利用continue语句转移控制权 84
7.2.2 利用break语句转移控制权 84
7.3 小结 85
7.4 问与答 85
7.5 作业 86
第8章 使用函数执行动作 88
8.1 Swift中函数的性质 89
8.2 一般的函数语法和结构 89
8.3 没有参数和返回类型的函数 90
8.4 函数的类型 91
8.5 带有参数的函数 91
8.6 带有可变参数的函数 93
8.7 具有返回类型的函数 94
8.8 外部参数名称 98
8.9 默认的参数值 99
8.10 利用in-out形参改变实参值 99
8.11 提早退出 100
8.12 延迟执行 101
8.13 小结 102
8.14 问与答 102
8.15 作业 102
第9章 了解高阶函数和闭包 104
9.1 高阶函数 104
9.1.1 返回函数类型 105
9.1.2 在函数内嵌套函数 107
9.1.3 使用函数作为函数参数 109
9.2 闭包 110
9.2.1 闭包的结构 111
9.2.2 使用结尾闭包 117
9.3 小结 117
9.4 问与答 118
9.5 作业 118
第10章 学习结构体和类 120
10.1 Swift中的结构体和类概述 120
10.2 Swift结构体与类之间的
共同之处 122
10.2.1 定义属性 122
10.2.2 实例方法 123
10.2.3 结构体与类的相似之处 126
10.3 结构体与类之间的区别 128
10.3.1 改变结构体属性 129
10.3.2 比较类引用的相等性 130
10.3.3 比较实例的相等性 131
10.4 何时使用类或结构体 131
10.5 小结 131
10.6 问与答 132
10.7 作业 132
第11章 实现类继承 134
11.1 什么是继承 134
11.2 确定基类 135
11.3 创建子类 136
11.4 重写继承的方法 137
11.5 访问super 140
11.6 阻止重写 141
11.7 类的同一性 143
11.8 何时使用类继承 144
11.9 小结 145
11.10 问与答 145
11.11 作业 145
第12章 利用枚举的功能 148
12.1 了解Swift枚举 148
12.2 Swift枚举的结构 149
12.3 原始值 150
12.3.1 从枚举中获取原始值 150
12.3.2 通过原始值设置枚举值 151
12.4 枚举的简写语法 151
12.5 关联值 153
12.6 切换枚举值 154
12.7 给枚举添加实例方法 155
12.8 小结 157
12.9 问与答 158
12.10 作业 158
第13章 自定义类、结构体和枚举的
初始化器 160
13.1 初始化 160
13.1.1 初始化器的目标 161
13.1.2 总是具有初始化器 162
13.2 初始化值类型 162
13.2.1 设置默认值 162
13.2.2 初始化器中的外部参数名 166
13.2.3 初始化类类型 167
13.3 高级初始化 169
13.3.1 初始化委托 169
13.3.2 类的初始化委托 170
13.3.3 初始化过程 171
13.4 小结 176
13.5 问与答 176
13.6 作业 177
第14章 深入探讨属性 179
14.1 存储属性 180
14.1.1 实例变量 180
14.1.2 延迟存储属性 180
14.2 计算属性 182
14.3 属性访问器 182
14.3.1 获取器 182
14.3.2 设置器 183
14.4 属性观察器 185
14.5 继承和重写访问器 187
14.6 继承和重写观察器 189
14.7 小结 191
14.8 问与答 191
14.9 作业 192
第15章 添加高级类型功能 194
15.1 类型属性和类型方法 194
15.1.1 类型属性 194
15.1.2 计算类型属性 196
15.1.3 类型方法 197
15.2 类型别名 200
15.3 类型访问控制 201
15.4 下标 202
15.4.1 下标重载 205
15.4.2 重写下标 206
15.5 转型和非特定类型 206
15.5.1 确定实例的类型 206
15.5.2 向下转型 208
15.5.3 非特定类型 209
15.6 小结 210
15.7 问与答 210
15.8 作业 211
第16章 了解内存分配和引用 212
16.1 析构 212
16.2 自动引用计数 215
16.2.1 ARC的工作方式 215
16.2.2 引用关系和行为 215
16.2.3 引用循环 216
16.2.4 解决强引用循环 218
16.2.5 闭包和强引用循环 221
16.3 小结 224
16.4 问与答 224
16.5 作业 225
第17章 使用协议定义行为 226
17.1 定义协议 226
17.2 创建和采用协议 227
17.3 属性 228
17.4 在协议中定义方法 228
17.5 使用协议名称作为类型 230
17.6 采用和继承多个协议 231
17.7 可选的协议属性和方法 235
17.8 如何检查协议遵从性 236
17.9 把协议用于委托 236
17.10 小结 241
17.11 问与答 241
17.12 作业 242
第18章 使用扩展添加类型功能 244
18.1 定义扩展 244
18.2 利用扩展添加功能 245
18.2.1 计算实例和类型属性 246
18.2.2 实例方法和类型方法 247
18.2.3 在扩展中添加下标 248
18.2.4 利用扩展添加自定义
初始化器 249
18.2.5 给扩展添加嵌套类型 251
18.2.6 扩展中的协议采用和遵从性 252
18.3 小结 254
18.4 问与答 254
18.5 作业 254
第19章 处理可选链接 256
19.1 定义可选链接 256
19.2 链接可选属性 257
19.3 下标 258
19.4 方法 262
19.5 小结 264
19.6 问与答 264
19.7 作业 264
第20章 泛型简介 266
20.1 泛型简介 266
20.2 类型参数和占位符类型 267
20.3 指定类型约束 268
20.4 创建泛型类型 271
20.5 扩展泛型类型 273
20.6 在协议中使用关联类型 274
20.7 小结 276
20.8 问与答 276
20.9 作业 277
第21章 了解面向协议编程 278
21.1 协议概览 278
21.2 实现协议 279
21.3 协议扩展简介 279
21.4 创建协议扩展 280
21.5 什么是可自定义的 283
21.6 协议扩展中的类型约束 285
21.7 同种和异种集合 286
21.8 转换协议序列 288
21.9 小结 289
21.10 问与答 290
21.11 作业 290
第22章 处理错误 292
22.1 错误处理 292
22.2 Swift错误处理 293
22.2.1 自定义错误类型 294
22.2.2 抛出错误 295
22.2.3 捕获错误 297
22.2.4 延迟执行 300
22.3 小结 303
22.4 问与答 304
22.5 作业 304
第23章 添加与Objective-C之间的
互操作性 305
23.1 Objective-C的基础知识 305
23.1.1 文件结构 306
23.1.2 可空性 309
23.1.3 分配和初始化 310
23.2 桥接 311
23.2.1 模块桥接 311
23.2.2 类型桥接 311
23.3 把Swift集成进Objective-C
应用中 313
23.3.1 下载起始项目 313
23.3.2 创建Swift类和桥接头文件 315
23.3.3 清理 318
23.3.4 向Swift公开Objective-C类 318
23.3.5 利用Swift扩展Objective-C类 318
23.3.6 更新故事板中的类 319
23.3.7 运行应用 320
23.4 小结 321
1.1 什么是Swift 2
1.2 起步 2
1.2.1 四处看看 2
1.2.2 Xcode playground 5
1.2.3 Swift REPL 7
1.3 小结 8
1.4 问与答 9
1.5 作业 9
第2章 学习Swift的基本数据类型 11
2.1 Swift中的常量 11
2.2 Swift中的变量 12
2.3 数据类型简介 13
2.3.1 类型推断 13
2.3.2 数据类型 14
2.3.3 初始化值 19
2.4 小结 20
2.5 问与答 20
2.6 作业 20
第3章 使用Swift中的运算符 22
3.1 一元运算符 22
3.1.1 递增和递减运算符 23
3.1.2 逻辑“非”运算符 23
3.1.3 一元减法运算符 23
3.2 二元运算符 24
3.2.1 标准算术运算符 24
3.2.2 余数运算符 24
3.2.3 赋值运算符 25
3.2.4 复合赋值运算符 25
3.2.5 比较运算符 25
3.2.6 范围运算符 26
3.2.7 逻辑运算符 27
3.3 三元条件运算符 29
3.4 小结 29
3.5 问与答 30
3.6 作业 30
第4章 处理集合类型 32
4.1 数组 32
4.1.1 用于访问值的索引和下标 34
4.1.2 操作数组 35
4.1.3 常用数组方法和属性 38
4.2 字典 38
4.2.1 键-值对 39
4.2.2 初始化字典 39
4.2.3 关于字典的类型推断 40
4.2.4 向字典中添加数据 40
4.2.5 从字典中移除键-值对 41
4.2.6 常用字典方法和属性 42
4.3 集 42
4.4 元组 46
4.5 小结 46
4.6 问与答 47
4.7 作业 47
第5章 利用条件语句控制程序流程 49
5.1 if语句 49
5.2 switch语句 53
5.2.1 不仅仅匹配Int值 54
5.2.2 switch语句的范围匹配 55
5.2.3 switch语句的元组匹配 57
5.2.4 利用where关键字细化switch case
语句 57
5.2.5 转移执行的控制权 58
5.2.6 稍微高级一点的模式匹配 60
5.3 小结 60
5.4 问与答 61
5.5 作业 61
第6章 了解可选值 63
6.1 什么是可选值 63
6.2 怎样将变量指定为可选的 64
6.3 包装和解包可选变量 65
6.3.1 利用解包运算符进行强制解包 65
6.3.2 可选绑定以解包变量 66
6.3.3 隐式解包的可选值 67
6.3.4 nil合并运算符 68
6.3.5 解包多个可选值 68
6.4 可选值的用例 69
6.5 小结 71
6.6 问与答 71
6.7 作业 72
第7章 利用循环迭代代码 73
7.1 两种循环类型 73
7.1.1 while循环 74
7.1.2 for循环 77
7.2 在循环中转移控制权 84
7.2.1 利用continue语句转移控制权 84
7.2.2 利用break语句转移控制权 84
7.3 小结 85
7.4 问与答 85
7.5 作业 86
第8章 使用函数执行动作 88
8.1 Swift中函数的性质 89
8.2 一般的函数语法和结构 89
8.3 没有参数和返回类型的函数 90
8.4 函数的类型 91
8.5 带有参数的函数 91
8.6 带有可变参数的函数 93
8.7 具有返回类型的函数 94
8.8 外部参数名称 98
8.9 默认的参数值 99
8.10 利用in-out形参改变实参值 99
8.11 提早退出 100
8.12 延迟执行 101
8.13 小结 102
8.14 问与答 102
8.15 作业 102
第9章 了解高阶函数和闭包 104
9.1 高阶函数 104
9.1.1 返回函数类型 105
9.1.2 在函数内嵌套函数 107
9.1.3 使用函数作为函数参数 109
9.2 闭包 110
9.2.1 闭包的结构 111
9.2.2 使用结尾闭包 117
9.3 小结 117
9.4 问与答 118
9.5 作业 118
第10章 学习结构体和类 120
10.1 Swift中的结构体和类概述 120
10.2 Swift结构体与类之间的
共同之处 122
10.2.1 定义属性 122
10.2.2 实例方法 123
10.2.3 结构体与类的相似之处 126
10.3 结构体与类之间的区别 128
10.3.1 改变结构体属性 129
10.3.2 比较类引用的相等性 130
10.3.3 比较实例的相等性 131
10.4 何时使用类或结构体 131
10.5 小结 131
10.6 问与答 132
10.7 作业 132
第11章 实现类继承 134
11.1 什么是继承 134
11.2 确定基类 135
11.3 创建子类 136
11.4 重写继承的方法 137
11.5 访问super 140
11.6 阻止重写 141
11.7 类的同一性 143
11.8 何时使用类继承 144
11.9 小结 145
11.10 问与答 145
11.11 作业 145
第12章 利用枚举的功能 148
12.1 了解Swift枚举 148
12.2 Swift枚举的结构 149
12.3 原始值 150
12.3.1 从枚举中获取原始值 150
12.3.2 通过原始值设置枚举值 151
12.4 枚举的简写语法 151
12.5 关联值 153
12.6 切换枚举值 154
12.7 给枚举添加实例方法 155
12.8 小结 157
12.9 问与答 158
12.10 作业 158
第13章 自定义类、结构体和枚举的
初始化器 160
13.1 初始化 160
13.1.1 初始化器的目标 161
13.1.2 总是具有初始化器 162
13.2 初始化值类型 162
13.2.1 设置默认值 162
13.2.2 初始化器中的外部参数名 166
13.2.3 初始化类类型 167
13.3 高级初始化 169
13.3.1 初始化委托 169
13.3.2 类的初始化委托 170
13.3.3 初始化过程 171
13.4 小结 176
13.5 问与答 176
13.6 作业 177
第14章 深入探讨属性 179
14.1 存储属性 180
14.1.1 实例变量 180
14.1.2 延迟存储属性 180
14.2 计算属性 182
14.3 属性访问器 182
14.3.1 获取器 182
14.3.2 设置器 183
14.4 属性观察器 185
14.5 继承和重写访问器 187
14.6 继承和重写观察器 189
14.7 小结 191
14.8 问与答 191
14.9 作业 192
第15章 添加高级类型功能 194
15.1 类型属性和类型方法 194
15.1.1 类型属性 194
15.1.2 计算类型属性 196
15.1.3 类型方法 197
15.2 类型别名 200
15.3 类型访问控制 201
15.4 下标 202
15.4.1 下标重载 205
15.4.2 重写下标 206
15.5 转型和非特定类型 206
15.5.1 确定实例的类型 206
15.5.2 向下转型 208
15.5.3 非特定类型 209
15.6 小结 210
15.7 问与答 210
15.8 作业 211
第16章 了解内存分配和引用 212
16.1 析构 212
16.2 自动引用计数 215
16.2.1 ARC的工作方式 215
16.2.2 引用关系和行为 215
16.2.3 引用循环 216
16.2.4 解决强引用循环 218
16.2.5 闭包和强引用循环 221
16.3 小结 224
16.4 问与答 224
16.5 作业 225
第17章 使用协议定义行为 226
17.1 定义协议 226
17.2 创建和采用协议 227
17.3 属性 228
17.4 在协议中定义方法 228
17.5 使用协议名称作为类型 230
17.6 采用和继承多个协议 231
17.7 可选的协议属性和方法 235
17.8 如何检查协议遵从性 236
17.9 把协议用于委托 236
17.10 小结 241
17.11 问与答 241
17.12 作业 242
第18章 使用扩展添加类型功能 244
18.1 定义扩展 244
18.2 利用扩展添加功能 245
18.2.1 计算实例和类型属性 246
18.2.2 实例方法和类型方法 247
18.2.3 在扩展中添加下标 248
18.2.4 利用扩展添加自定义
初始化器 249
18.2.5 给扩展添加嵌套类型 251
18.2.6 扩展中的协议采用和遵从性 252
18.3 小结 254
18.4 问与答 254
18.5 作业 254
第19章 处理可选链接 256
19.1 定义可选链接 256
19.2 链接可选属性 257
19.3 下标 258
19.4 方法 262
19.5 小结 264
19.6 问与答 264
19.7 作业 264
第20章 泛型简介 266
20.1 泛型简介 266
20.2 类型参数和占位符类型 267
20.3 指定类型约束 268
20.4 创建泛型类型 271
20.5 扩展泛型类型 273
20.6 在协议中使用关联类型 274
20.7 小结 276
20.8 问与答 276
20.9 作业 277
第21章 了解面向协议编程 278
21.1 协议概览 278
21.2 实现协议 279
21.3 协议扩展简介 279
21.4 创建协议扩展 280
21.5 什么是可自定义的 283
21.6 协议扩展中的类型约束 285
21.7 同种和异种集合 286
21.8 转换协议序列 288
21.9 小结 289
21.10 问与答 290
21.11 作业 290
第22章 处理错误 292
22.1 错误处理 292
22.2 Swift错误处理 293
22.2.1 自定义错误类型 294
22.2.2 抛出错误 295
22.2.3 捕获错误 297
22.2.4 延迟执行 300
22.3 小结 303
22.4 问与答 304
22.5 作业 304
第23章 添加与Objective-C之间的
互操作性 305
23.1 Objective-C的基础知识 305
23.1.1 文件结构 306
23.1.2 可空性 309
23.1.3 分配和初始化 310
23.2 桥接 311
23.2.1 模块桥接 311
23.2.2 类型桥接 311
23.3 把Swift集成进Objective-C
应用中 313
23.3.1 下载起始项目 313
23.3.2 创建Swift类和桥接头文件 315
23.3.3 清理 318
23.3.4 向Swift公开Objective-C类 318
23.3.5 利用Swift扩展Objective-C类 318
23.3.6 更新故事板中的类 319
23.3.7 运行应用 320
23.4 小结 321
23.5 问与答 322
23.6 作业 322
第24章 Swift中的函数式思考 324
24.1 什么是函数式编程 324
24.2 从函数的角度考虑问题 325
24.2.1 利用map执行变换 325
24.2.2 利用forEach进行迭代 327
24.2.3 过滤值 329
24.2.4 把函数链接在一起 330
24.2.5 合并对象 331
24.2.6 创建和重载运算符 333
24.3 小结 336
24.4 问与答 337
24.5 作业 337
评论
还没有评论。