{{sellerTotalView > 1 ? __("sellers", {number: sellerTotalView}) : __("seller", {number: sellerTotalView}) }}, {{numTotalView > 1 ? __("items", {number: numTotalView}) : __("item", {number: numTotalView}) }}
무료배송

배송 지역 전환

지역에 따라 재고 및 배송 속도가 다를 수 있습니다.

위치 기록

{{email ? __('Got it!') : __('Restock Alert')}}

상품입고 후 바로 알려드리겠습니다.

취소
Yami

Jingdong book

深入理解JavaScript

{{buttonTypePin == 3 ? __("Scan to view more PinGo") : __("Scan to start")}}

深入理解JavaScript

{{__(":people-members", {'people': item.limit_people_count})}} {{ itemCurrency }}{{ item.valid_price }} {{ itemCurrency }}{{ item.invalid_price }} {{ itemDiscount }}
후 종료
{{ itemCurrency }}{{ item.valid_price }}
{{ itemCurrency }}{{ priceFormat(item.valid_price / item.bundle_specification) }}/{{ item.unit }}
{{ itemDiscount }}
{{ itemCurrency }}{{ item.valid_price }} {{ itemCurrency }}{{ priceFormat(item.valid_price / item.bundle_specification) }}/{{ item.unit }} {{ itemCurrency }}{{ item.invalid_price }} {{itemDiscount}}
{{ itemCurrency }}{{ item.valid_price }}
후에 세일 종료
후 초특가세일 시작 후 초특가세일 종료
{{ getSeckillDesc(item.seckill_data) }}
{{ __( "Pay with Gift Card to get sale price: :itemCurrency:price", { 'itemCurrency' : itemCurrency, 'price' : (item.giftcard_price ? priceFormat(item.giftcard_price) : '0.00') } ) }} ({{ itemCurrency }}{{ priceFormat(item.giftcard_price / item.bundle_specification) }}/{{ item.unit }}) 상세정보
상품 유효 기간

판매 중단

이 상품이 언제 재입고될지는 알 수 없습니다.

현재 주소로 배송 불가
품절

제품 설명

제품 세부 정보 전체보기
Editer Recommend

本书针对JavaScript初学者,帮助读者掌握JavaScript开发的精髓。每一章从教授语言的一个主题开始,给出了实践以及解决实际缺陷的指南,然后深入到相关的信息。本书帮助入门的程序员理解基础知识,掌握核心实践,甚至深入了解一些实践方法的优缺点,做到知其然且知其所以然。
《JavaScript启示录》一书作者Cody Lindley鼎力推荐
喜欢,又或是不喜欢,JavaScript都在那里,日夜相随,不离不弃。JavaScript正越来越多地出现在我们的生活中,从浏览器到服务端,再到移动端。想要学习这种语言,或者深入了解一些你没有涉足的内容,本书正是你的选择,它既可以指引入门也能够带你深入JavaScript。作者是一位程序员,也曾在相同的处境中暮然回首,找到了真实的自己。

本书通过4个独立部分引领读者逐步接近JavaScript语言。首先,快速指引部分帮助你在JavaScript编程上变得富有成效。更有经验的程序员会返现有一个完整而易读的参考,深入覆盖了该语言的每个特性。

本书包括以下内容:
JavaScript快速上手:更习惯面向对象的编程?这个部分会帮你更快更好地开始学习JavaScript。
背景:了解JavaScript的历史,以及它与其他语言之间的关系。
深入JavaScript:详细学习ECMAScript 5,从语法,变量,函数,面向对象编程,再到正则表达式和JSON,以及大量的示例。
技巧、工具和类库:对现有风格指引、实践、高阶技术、模块系统、包管理、构建工具进行调研和学习。
Content Description

JavaScript是目前Web开发领域非常流行的一种编程语言,得到众多IT从业人员和编程爱好者的关注。
本书是一本全面、深入介绍JavaScript语言的学习指南。本书共分四个部分,第1部分帮助读者快速入手,掌握基本的JavaScript编程要点;第2部分介绍JavaScript的发展和技术背景;第3部分深入探索JavaScript,介绍了语法、值、运算符、布尔类型、数字、字符串、语句、异常捕获、函数、变量、对象与继承、数组、正则表达式、Date、Math、JSON、标准全局变量、编码和JavaScript、ECMAScript 5的新特性等内容;第4部分介绍技巧、工具和类库,帮助读者更好地运用JavaScript进行编程。
本书内容由浅入深,非常适合想要快速学习JavaScript编程或者深入钻研JavaScript的读者参考。
Author Description

Axel Rauschmayer专攻JavaScript和Web开发领域。他在2ality.com写博客,教Ecmanauten,编辑JavaScript Weekly周刊,组织MunichJS用户组。Axel从1985年开始编程,1995年开始开发web应用。
Catalogue

第1部分JavaScript快速上手
第1章基础JavaScript 3
1.1 背景 3
1.1.1 JavaScript与ECMAScript 3
1.1.2 JavaScript的影响和本质 3
1.2 语法 4
1.2.1 语法概述 4
1.2.2 语句和表达式 5
1.2.3 分号 5
1.2.4 注释 6
1.3 变量和赋值 6
1.3.1 赋值 6
1.3.2 复合赋值运算符 6
1.3.3 标识符与变量名 6
1.4 值 7
1.4.1 原始值和对象 8
1.4.2 原始值 9
1.4.3 对象 9
1.4.4 undefined和null 10
1.4.5 使用typeof和instanceof对值分类 11
1.5 布尔值 13
1.5.1 真值与假值 13
1.5.2 二元逻辑运算符 14
1.5.3 等式运算符 14
1.6 数字 14
1.7 运算符 15
1.8 字符串 16
1.8.1 字符串运算符 16
1.8.2 字符串方法 17
1.9 语句 17
1.9.1 条件语句 17
1.9.2 循环语句 18
1.10 函数 19
1.10.1 函数声明的提升特性 19
1.10.2 特殊的变量arguments 20
1.10.3 参数太多或太少 20
1.10.4 可选参数 20
1.10.5 强制参数长度 21
1.10.6 将arguments转换为数组 21
1.11 异常捕获 21
1.12 严格模式 22
1.13 变量作用域和闭包 22
1.13.1 变量是函数作用域的 23
1.13.2 变量的提升特性 23
1.13.3 闭包 23
1.13.4 IIFE模式:引入一个新的作用域 24
1.14 对象和构造函数 25
1.14.1 单一对象 25
1.14.2 任意属性名 26
1.14.3 提取方法 26
1.14.4 方法中的函数 27
1.14.5 构造函数:对象工厂 28
1.15 数组 29
1.15.1 数组字面量 29
1.15.2 数组方法 30
1.15.3 遍历数组 30
1.16 正则表达式 31
1.16.1 test()方法:匹配吗 31
1.16.2 exec()方法:匹配以及捕获分组 31
1.16.3 replace()方法:搜索和替换 31
1.17 Math 32
1.18 标准库的其他功能 32

第2部分背景
第2章为什么选择JavaScript 35
2.1 JavaScript可以自由使用吗 35
2.2 JavaScript优雅吗 36
2.3 JavaScript有用吗 36
2.3.1 图形用户界面 36
2.3.2 其他技术补充完善JavaScript 36
2.4 JavaScript有什么好用的工具吗 37
2.5 JavaScript是否足够快 37
2.6 JavaScript是广泛使用的吗 38
2.7 JavaScript有前途吗 38
2.8 结论 38
第3章JavaScript的性质 39
3.1 古怪和非官方特性 40
3.2 优雅部分 40
3.3 影响 41
第4章JavaScript是如何创造出来的 42
第5章标准化:ECMAScript 44
第6章JavaScript的历史里程碑 46
第3部分深入JavaScript
第7章JavaScript的语法 53
7.1 语法概览 53
7.2 注释 54
7.3 表达式与语句 54
7.3.1 表达式 55
7.3.2 语句 55
7.4 控制流语句和块 57
7.5 使用分号的规则 57
7.5.1以块结束的语句后面没有分号 58
7.5.2 空语句 58
7.5.3 自动分号插入 59
7.6 合法标识符 60
7.7 数字字面量的方法调用 62
7.8 严格模式 62
7.8.1 启用严格模式 62
7.8.2 严格模式:建议与注意事项 63
7.8.3 严格模式中,变量必须被声明 63
7.8.4 严格模式下的函数 63
7.8.5 严格模式中,设置或者删除不可改变的属性会抛出异常 65
7.8.6 严格模式中的不合格标识符不能删除 65
7.8.7 严格模式中,eval更加简洁 66
7.8.8 严格模式中禁用的特性 66
第8章值 67
8.1 JavaScript中的类型体系 67
8.1.1 JavaScript类型 67
8.1.2 静态与动态 68
8.1.3 静态类型与动态类型 68
8.1.4 静态类型检查和动态类型检查 68
8.1.5 强制转换 69
8.2原始值和对象 69
8.2.1原始值 70
8.2.2 对象 70
8.3 undefined和null 72
8.3.1 undefined和null的出现场景 72
8.3.2 检测undefined和null 73
8.3.3 undefined和null的历史 74
8.3.4 修改undefined 75
8.4 原始值的包装对象 76
8.4.1 包装对象不同于原始值 76
8.4.2 原始值的包装与去包装 76
8.4.3 原始值从包装器借调方法 77
8.5 强制类型转换 78
8.5.1 强制类型转换会隐藏bug 78
8.5.2 转换成布尔值、数字、字符串和对象的函数 78
8.5.3 算法:ToPrimitive()—将值转换为原始值 80
第9章运算符 82
9.1 运算符和对象 82
9.2 赋值运算符 82
9.3 等号运算符:=== 和 == 84
9.3.1 严格相等(===,!==) 84
9.3.2 普通(宽松)相等(==,!=) 85
9.3.3 没有针对==的有效用例 87
9.4 排序运算符 88
9.5 加号运算符(+) 89
9.6 布尔运算符和数字运算符 90
9.7特殊运算符 90
9.7.1条件运算符(?:) 90
9.7.2 逗号运算符 91
9.7.3 void运算符 91
9.8 通过typeof和instanceof判断值类型 93
9.8.1typeof:判断原始值 93
9.8.2 instanceof:检测对象是否是给定构造函数的实例 95
9.9 对象运算符 96
第10章布尔类型 97
10.1 转换成布尔值 97
10.1.1 手动转换为布尔值 97
10.1.2 真值和假值 98
10.2 逻辑运算符 99
10.2.1 二元逻辑运算符:与(&&)和或(||) 99
10.2.2 逻辑与(&&) 100
10.2.3 逻辑或(||) 100
10.2.4 逻辑非(!) 101
10.3 等号运算符、排序运算符 101
10.4 Boolean函数 102
第11章数字 103
11.1 数字字面量 103
11.1.1 说明 103
11.1.2 在字面量上调用方法 104
11.2 转换成数字 104
11.2.1 手动转换为数字 104
11.2.2 parseFloat() 105
11.3 特殊的数字值 106
11.3.1 NaN 106
11.3.2 Infinity 108
11.3.3 两个0 109
11.4 数字的内部表示 111
11.5 处理舍入错误 112
11.6 JavaScript中的整型 114
11.6.1 整型的范围 114
11.6.2 将整型表示为浮点数字 115
11.6.3 安全的整型 116
11.7 转换成整数 117
11.7.1 通过Math.floor(),Math.ceil()和Math.round()得到整数 118
11.7.2 通过定制函数ToInteger()得到整数 119
11.7.3 通过位运算符得到32位整数 119
11.7.4 通过parseInt()得到整数 121
11.8 算术运算符 122
11.9 位运算符 125
11.9.1 背景知识 125
11.9.2 位运算非操作符 126
11.9.3 二进制位运算符 126
11.9.4 位运算移位操作符 127
11.10 Number函数 128
11.11 Number构造器属性 128
11.12 Number原型方法 129
11.12.1 Number.prototype.toFixed(fractionDigits?) 129
11.12.2 Number.prototype.toPrecision(precision?) 130
11.12.3 Number.prototype.toString(radix?) 130
11.12.4 Number.prototype.toExponential(fractionDigits?) 131
11.13 用于数字的函数 132
11.14 本章参考资料 132
第12章字符串 133
12.1 字符串字面量 133
12.2 字符串字面量中的转义字符 134
12.3 字符访问 135
12.4 转换为字符串 135
12.5 字符串比较 137
12.6 字符串拼接 137
12.6.1 合并:加号(+)运算符 137
12.6.2 合并:拼接字符串数组 138
12.7 字符串函数 138
12.8 字符串构造器方法 138
12.9 字符串length属性 139
12.10 字符串原型方法 139
12.10.1 提取子字符串 139
12.10.2 字符串的变换 141
12.10.3 字符串的检索和比较 142
12.10.4 支持正则表达式的方法 143
第13章语句 145
13.1 声明和变量赋值 145
13.2 循环语句和条件语句的主体 145
13.3 循环 146
13.3.1 循环的机制 146
13.3.2 while 147
13.3.3 do-while 147
13.3.4 for 147
13.3.5 for-in 148
13.3.6 for each-in 150
13.4 条件语句 150
13.4.1 if-then-else 150
13.4.2 switch 151
13.5 with语句 153
13.5.1 语法与语义 153
13.5.2 with语句已被废弃 154
13.5.3 废弃with的原因 154
13.6 debugger语句 156
第14章异常捕获 157
14.1 什么是异常捕获 157
14.2 JavaScript中的异常捕获 158
14.2.1 throw 159
14.2.2 try-catch-finally 159
14.2.3 例子 160
14.3 Error构造器 161
14.4 栈跟踪 162
14.5 实现一个自己的异常构造器 163
第15章函数 164
15.1 JavaScript中函数的3种形式 164
15.2 术语:“形参”和“实参” 165
15.3 定义函数 165
15.3.1 函数表达式 166
15.3.2 函数声明 167
15.3.3 Function构造器 167
15.4 函数提升 167
15.5 函数的名称 168
15.6 哪个更好,函数声明还是函数表达式 168
15.7 控制函数调用:call(),apply()和bind() 169
15.7.1 func.apply(thisValue, argArray) 169
15.7.2 func.bind(thisValue, arg1, ..., argN) 170
15.8 参数缺失或者超出时的处理 170
15.8.1 通过索引访问所有参数:神奇的arguments变量 170
15.8.2 强制性参数,限制参数数量的最小值 172
15.8.3 可选参数 173
15.8.4 模拟参数的引用传递 173
15.8.5 陷阱:非预期的可选参数 174
15.9 具名参数 175
15.9.1 具名参数可作为描述信息 175
15.9.2 可选的具名参数 176
15.9.3 在JavaScript中模拟具名参数 176
第16章变量:作用域、环境和闭包 177
16.1 定义变量 177
16.2 背景知识:静态性和动态性 177
16.3 背景知识:变量的作用域 178
16.4 变量以函数为作用域 179
16.5 变量声明的提前 180
16.6 通过IIFE引入新的作用域 181
16.6.1 IIFE变体:前缀运算符 182
16.6.2 IIFE变体:预内置表达式上下文 183
16.6.3 IIFE变体:传参的IIFE 183
16.6.4 IIFE的应用 183
16.7 全局变量 184
16.7.1 最佳实践:避免创建全局变量 184
16.7.2 模块系统可以减少全局变量的引入 185
16.8 全局对象 185
16.8.1 跨平台兼容 186
16.8.2 window的使用场景 186
16.9 环境:变量的管理 188
16.10 闭包:使得函数可以维持其创建时所在的作用域 191
16.10.1 通过环境来控制闭包 191
16.10.2 陷阱:不经意间的环境共用 193
第17章对象与继承 195
17.1 第1层:单一对象 195
17.1.1 属性的种类 195
17.1.2 对象字面量 196
17.1.3 点运算符(.):通过固定键值访问属性 197
17.1.4 特殊的属性键 199
17.1.5 中括号操作符([]):通过计算出的键访问属性 199
17.2 把任意值转化为对象 201
17.3 this作为函数和方法的隐式参数 202
17.3.1 在调用函数时设置 this:call(),apply()和bind() 202
17.3.2 “用于构造函数的 apply()”详细阐述了如何配合构造函数
使用apply() 203
17.3.3 用于构造函数的apply() 204
17.3.4 缺陷:提取方法时丢失 this 206
17.3.5 缺陷:方法中的函数会掩盖 this 207
17.4 第2层:对象间的原型关系 209
17.4.1 继承 209
17.4.2 覆写 210
17.4.3 通过原型在对象间共享数据 210
17.4.4 获取和设置原型 211
17.4.5 特殊属性 __proto__ 213
17.4.6 设置和删除仅影响自有属性 214
17.5 遍历和检测属性 215
17.5.1 列出自有的属性键 215
17.5.2 列出所有的属性键 216
17.5.3 检测属性是否存在 216
17.5.4 示例 217
17.6 最佳实践:遍历自有属性 218
17.7 访问器(getter 和 setter) 218
17.7.1 通过对象字面量定义访问器 219
17.7.2 通过属性描述符定义访问器 219
17.7.3 访问器和继承 219
17.8 属性特性和属性描述符 220
17.8.1 属性特性 220
17.8.2 属性描述符 221
17.8.3 通过描述符获取和定义属性 221
17.8.4 复制对象 223
17.8.5 属性:定义与赋值 224
17.8.6 继承的只读属性不能被赋值 225
17.8.7 枚举性:最佳实践 225
17.9 保护对象 226
17.9.1 防止扩展 226
17.9.2 封闭 227
17.9.3 冻结 228
17.9.4 缺陷:保护是浅层的 229
17.10 第3层:构造函数—实例工厂 229
17.10.1 JavaScript 中 new 操作符的实现 231
17.10.2 术语:两个原型 231
17.10.3 实例的 constructor 属性 232
17.10.4 instanceof 运算符 234
17.10.5 实现构造函数的小技巧 237
17.11 原型属性中的数据 238
17.11.1 对于实例属性,避免使用带初始值的原型属性 238
17.11.2 避免非多态的原型属性 240
17.11.3 多态的原型属性 241
17.12 保持数据私有性 241
17.12.1 构造函数环境中的私有数据(Crockford私有模式) 241
17.12.2 使用标记的键的属性保存私有数据 245
17.12.3 使用具体化键的属性保存私有数据 246
17.12.4 通过IIFE保持全局数据私有 247
17.13 第4层:构造函数之间的继承 248
17.13.1 继承实例属性 249
17.13.2 继承原型属性 249
17.13.3 确保instanceof正常工作 250
17.13.4 覆写方法 251
17.13.5 父调用 251
17.13.6 避免硬编码父构造函数的名字 252
17.13.7 示例:构造函数继承 253
17.13.8 示例:内建构造函数的继承层次结构 254
17.13.9 反模式:原型是父构造函数的实例 254
17.14 所有对象的方法 254
17.14.1 转换为原始值 254
17.14.2 Object.prototype.toLocaleString() 255
17.14.3 原型式继承和属性 255
17.15 泛型方法:借用原型方法 256
17.15.1 通过字面量访问Object.prototype和Array.prototype 257
17.15.2 调用泛型方法的例子 258
17.15.3 类似数组的对象和泛型方法 259
17.15.4 所有泛型方法列表 261
17.16 缺陷:Object作为Map使用 263
17.16.1 缺陷1:继承影响读取属性 263
17.16.2 缺陷2:覆写会影响调用方法 265
17.16.3 缺陷3:特殊属性__proto__ 265
17.16.4 字典模式:没有原型的对象更适合用作映射 266
17.16.5 最佳实践 267
17.17 备忘录:对象的使用 267
第18章数组 269
18.1 概述 269
18.1.1 数组是映射,不是元组 270
18.1.2 数组也可以具有属性 270
18.2 创建数组 270
18.2.1 数组构造函数 271
18.2.2 多维数组 271
18.3 数组索引 272
18.3.1 操作符in与索引 273
18.3.2 删除数组元素 273
18.3.3 数组索引的细节 273
18.4 长度 275
18.4.1 手动增加数组的长度 275
18.4.2 减少数组的长度 276
18.4.3 最大长度 277
18.5 数组中的“空缺” 277
18.5.1 创建空缺 278
18.5.2 稀疏数组和密集数组 278
18.5.3 哪些操作会忽略空缺,而哪些不会 279
18.5.4 移除数组中的空缺 280
18.6 数组构造函数 281
18.7 数组原型方法 281
18.8 添加和删除元素(破坏性地) 281
18.9 排序和颠倒元素顺序(破坏性地) 283
18.9.1 比较数字 284
18.9.2 比较字符串 284
18.9.3 比较对象 284
18.10 合并、切分和连接(非破坏性地) 285
18.11 值的查找(非破坏性地) 286
18.12 迭代(非破坏性地) 287
18.12.1 检测方法 287
18.12.2 转化方法 289
18.12.3 归约函数 289
18.13 缺陷:类数组对象 291
18.14 最佳实践:遍历数组 291
第19章正则表达式 293
19.1 正则表达式语法 293
19.1.1 原子:常规 293
19.1.2 原子:字符类 295
19.1.3 原子:分组 296
19.1.4 量词 296
19.1.5 断言 297
19.1.6 析取(或) 298
19.2 Unicode 和正则表达式 298
19.3 创建正则表达式 298
19.3.1 字面量与构造函数 299
19.3.2 标识 299
19.3.3 正则表达式的实例属性 299
19.3.4 几个创建正则表达式的例子 300
19.4 RegExp.prototype.test:是否存在匹配 300
19.5 String.prototype.search:匹配位置的索引 301
19.6 RegExp.prototype.exec:捕获分组 301
19.6.1 首次匹配(不设置标识/g) 302
19.6.2 全部匹配(设置标识 /g) 302
19.7 String.prototype.match:捕获分组或返回所有匹配的子字符串 303
19.8 String.prototype.replace:查找和替换 303
19.8.1 Replacement 为字符串的情况 304
19.8.2 当Replacement为函数时 305
19.9 标识 /g 的一些问题 305
19.10 提示与技巧 308
19.10.1 引用文本 308
19.10.2 陷阱:缺少断言(例如^、$)的正则表达式可以在任意位置
匹配 308
19.10.3 匹配一切或什么都不匹配 308
19.10.4 手动实现逆向查找 309
19.11 正则表达式备忘单 310
第20章Date 313
20.1 Date构造函数 313
20.2 Date构造函数方法 315
20.3 Date原型方法 315
20.3.1 时间单位的getter和setter方法 316
20.3.2 各种各样的getter和setter方法 317
20.3.3 将日期转换成字符串 317
20.4 日期和时间格式 319
20.4.1 日期格式(无时间) 319
20.4.2 时间格式(无日期) 320
20.4.3 日期时间格式 321
20.5 时间值:从1970-01-01开始的毫秒数 321
第21章Math 323
21.1 Math属性 323
21.2 数值函数 324
21.3 三角函数 325
21.4 其他函数 327
第22章JSON 329
22.1 背景 329
22.1.1 数据格式 329
22.1.2 历史 330
22.1.3 语法 330
22.2 JSON.stringify(value, replacer?, space?) 334
22.2.1 被JSON.stringify()忽略的数据 335
22.2.2 toJSON()方法 336
22.3 JSON.parse(text, reviver?) 337
22.4 通过节点访问函数转换数据 338
22.4.1 JSON.stringify() 339
22.4.2 JSON.parse() 339
第23章标准全局变量 341
23.1 构造器 341
23.2 Error构造器 342
23.3 非构造器函数 342
23.3.1 文字的编码和解码 342
23.3.2 数值归类与数值转换 343
23.4 通过eval()和new Function()来动态执行JavaScript代码 344
23.4.1 使用eval()执行代码 344
23.4.2 通过new Function()执行代码 346
23.4.3 eval()与new Function()比较 347
23.4.4 最佳实践 347
23.4.5 结论 347
23.5 Console API 348
23.5.1 Console API在各引擎的标准程度如何 348
23.5.2 简单的日志记录 349
23.5.3 检查和计数 350
23.5.4 格式化的日志 350
23.5.5 性能和时间 352
23.6 名称空间和特殊值 353
第24章编码和JavaScript 354
24.1 Unicode历史 354
24.2 Unicode中的重要概念 354
24.3 码位 356
24.4 Unicode编码 357
24.5 JavaScript源码和Unicode 359
24.5.1 内部源码转化 359
24.5.2 源码外部转化 359
24.6 JavaScript字符串和Unicode 361
24.6.1 转义序列 361
24.6.2 通过转义引用星际平面的字符 361
24.6.3 字符长度计算 362
24.6.4 Unicode正常化 362
24.7 JavaScript正则表达式和Unicode 363
24.7.1 匹配任意的码元以及任意的码位 364
24.7.2 库 364
24.7.3 推荐阅读的章节资源 364
第25章ECMAScript 5的新特性 366
25.1 新特性 366
25.2 语法的改变 367
25.3 标准库的新功能 367
25.3.1 元编程 367
25.3.2 新方法 368
25.3.3 JSON 369
25.4 兼容旧浏览器的小贴士 370
第4部分技巧、工具和类库
第26章元编程风格指南 373
26.1 现有风格指南 373
26.2 通用技巧 374
26.2.1 代码应该具有一致性 374
26.2.2 代码应该易于理解 374
26.3 普遍认可的最佳实践 375
26.3.1 括号风格 376
26.3.2 推荐字面量而不是构造函数 377
26.3.3 不要自作聪明 378
26.3.4 可接受的技巧 379
26.4 具有争议的规则 380
26.4.1 语法 380
26.4.2 变量 381
26.4.3 面向对象 382
26.4.4 其他 383
26.5 结论 384
第27章调试的语言机制 385
第28章子类化内置构造函数 386
28.1 术语 386
28.2 障碍1:具有内部属性的实例 386
28.2.1 障碍1的解决方法 388
28.2.2注意 389
28.3 障碍2:内置的构造函数不能作为方法调用 389
28.4 另一种解决方案:委托 390
第29章JSDoc:生成API文档 392
29.1 JSDoc基础 393
29.1.1 语法 393
29.1.2命名类型 394
29.2 基础的标签 395
29.3 文档记录函数和方法 396
29.4 行内类型信息(“行内文档注释”) 397
29.5 文档记录变量、参数和实例属性 397
29.6 文档记录类 398
29.6.1 通过构造函数定义类 399
29.6.2 通过对象字面量定义类 399
29.6.3 通过带有@constructs方法的对象字面量定义类 400
29.6.4 子类 400
29.7 其他有用的标签 401
第30章类库 402
30.1 shim和polyfill 402
30.2 四个语言类库 403
30.3 ECMAScript的国际化API 403
30.3.1 ECMAScript的国际化API,第1版 403
30.3.2 它是怎么样的标准呢 404
30.3.3 我们可以用它做什么 404
30.3.4 延伸阅读 404
30.4 JavaScript资源目录 405
第31章模块系统和包管理器 407
31.1 模块系统 407
31.2 包管理器 408
31.3 简单粗暴的模块实现 408
第32章其他工具 410
第33章接下来该做什么 412

명세서

상표 Jingdong book
브랜드 영역 China

면책성명

제품 가격, 포장, 사양 등의 정보는 예고 없이 변경될 수 있습니다. 적시에 제품 정보를 업데이트 할 수 있도록 최선을 다하지만, 받은 실제 제품을 참고하시기 바랍니다. 제품을 사용하기 전에 반드시 제품에 동봉된 라벨, 경고 및 설명을 읽어 주십시오.

상세정보 보기
찜한 목록에 추가
{{ $isZh ? coupon.coupon_name_sub : coupon.coupon_ename_sub | formatCurrency }}
{{__("Buy Directly")}} {{ itemCurrency }}{{ item.directly_price }}
수량
{{ quantity }}
{{ instockMsg }}
{{ limitText }}
{{buttonTypePin == 3 ? __("Scan to view more PinGo") : __("Scan to start")}}
JD@CHINA 판매
배송지
{{ __("Ship to United States only") }}
69이상 주문 시 무료 배송
정품 보증

장바구니에 추가됨

쇼핑 계속하기

당신을 위한 추천

{{ item.brand_name }}

{{ item.item_name }}

{{ item.currency }}{{ item.market_price }}

{{ item.currency }}{{ item.unit_price }}

{{ item.currency }}{{ item.unit_price }}

쿠폰

{{ coupon.coupon_name_new | formatCurrency }}
받기 받았음 마감
{{ getCouponDescStr(coupon) }}
{{ coupon.use_time_desc }}
곧 만료됩니다: {{ formatTime(coupon.use_end_time) }}

친구들과 공유하세요

취소

Yami 기프트카드 전용특가

기프트카드로 결제하면 전용특가를 받을 수 있습니다

규칙 설명

기프트카드 전용특가는 일부 상품에 대한 특혜가격입니다.

기프트카드 전용특가 상품 구매 시 E-기프트 카드 잔액으로 결제하고 기프트카드 잔액이 주문 내 상품의 총액을 지불하기에 충분하하 기프트카드 전용특가가 자동으로 활성화됩니다.

기프트 카드 잔액으로 결제하지 않거나 기프트카드 잔액이 전항의 요건을 충족하지 못할 경우 기프트카드 전용특가를 활성화할 수 없으며 상품은 정상 가격으로 구매할 수 있습니다.

기프트카드 전용특가 상품 구매 시 잔액이 부족할 경우 장바구니 또는 결제 페이지에서 "충전" 버튼을 클릭하여 기프트카드를 구매 및 충전할 수 있습니다.

기프트카드 전용특가가 있는 상품은 "전용특가"라는 특별한 가격표시가 표시됩니다.

질문이 있으시면 언제든지 고객 서비스에 문의하십시오.

Yami는 기프트카드 전용특가 관련 최종 해석권을 보유합니다.

Yami 판매

서비스 보장

Yami $49 이상 무료 배송
Yami 걱정 없는 반품/교환
Yami 미국에서 발송

배송 정보

  • 미국

    표준 배송 $5.99(알래스카, 하와이 제외), 최종 가격 $49 이상 시 무료 배송

    지역 배송 $5.99(캘리포니아, 뉴욕, 뉴저지, 매사추세츠, 펜실베이니아, 위 주의 일부 지역), 최종 가격 $49 이상 시 무료 배송

    2일 이내 배송(알래스카 및 하와이 포함) $19.99부터 시작

반품 및 교환 정책

Yami는 고객님께 최상의 A/S를 제공하고, 모든 분들이 Yami에서 안심하고 쇼핑할 수 있도록 노력하고 있습니다. Yami의 자영 상품은 반품 및 교환 조건을 충족하는 경우, 상품 수령 후 30일 이내에 반품 및 교환할 수 있습니다(식품은 품질 문제로 인해 7일 이내에 반품 및 교환이 가능합니다. 모든 고객이 안전하고 고품질의 제품을 받을 수 있도록 뷰티 제품은 개봉 또는 사용 후에는 품질 문제를 제외하고 환불 또는 반품을 제공하지 않습니다. 기타 특별 카테고리의 제품은 고객 서비스에 문의하시기 바랍니다).
이해와 지원에 감사드립니다.

상세정보 보기

Yami 판매

Yami E-기프트카드 사용 약관

구매 시 자동 충전을 선택한 경우, 주문 완료 후 기프트카드가 자동으로 계정에 충전됩니다.

구매 시 이메일 발송을 선택한 경우, 주문 완료 후 시스템이 자동으로 카드 번호와 비밀번호를 입력한 이메일로 발송합니다.

이메일을 보낼 때, 모든 사용자는 이메일에 있는 카드 번호와 비밀번호를 사용하여 기프트카드를 충전할 수 있으니, 이메일 정보를 잘 보관하세요.

이메일을 받는 데 문제가 있으면, 고객 서비스에 연락하여 처리해 주세요.

이메일을 보낼 때, 기프트카드가 교환되지 않았다면 이메일을 재발송할 수 있습니다. 이미 다른 사용자에 의해 교환된 경우에는 보상할 수 없습니다.

Yamibuy의 E-기프트카드는 자영 또는 제3자 상품 구매에 사용할 수 있습니다.

Yamibuy의 E-기프트카드는 유효 기간 제한이 없으며, 장기간 유효합니다.

Yami 전자 상품권의 금액은 여러 번에 나눠서 사용할 수 있습니다;

Yami 전자 상품권 업무 규칙의 최종 해석 권한은 Yami 웹사이트에 있습니다.

반품 및 교환 정책

이미 사용된 E-기프트카드는 환불이 불가능합니다.

판매자: JD@CHINA

서비스 보장

Yami $49 이상 무료 배송
Yami 최고의 A/S
Yami 미국 본토에서 발송

배송 정보

  • 미국

    표준 배송 $5.99(알래스카, 하와이 제외), 최종 가격 $49 이상 시 무료 배송

    지역 배송 $5.99(캘리포니아, 뉴욕, 뉴저지, 매사추세츠, 펜실베이니아, 위 주의 일부 지역), 최종 가격 $49 이상 시 무료 배송

    2일 이내 배송(알래스카 및 하와이 포함) $19.99부터 시작

반품 및 교환 정책

제품을 받으신 후 30일 이내에 제품을 반품하실 수 있습니다. 반품된 품목은 구매에 대한 원본 송장을 포함하여 원래 포장된 새 품목이어야 합니다. 고객이 자신의 비용으로 제품을 반품합니다.

JD@CHINA 판매

서비스 보장

Yami 점포간 $:amount 이상 구매 시 무료 배송
Yami 30일 반품/교환 보장

Yami-중국 집하창고

Yami는 중국 내 주요 우수매장에서 제품을 선별하여 모아 Yami 중국통합센터로 배송하며 택배를 합친 후 전국 각지의 주소로 배송해 드립니다. 점포간 무료 배송 조건은 최저 $69입니다. 여러 판매자가 제공하는 다양한 상품 중에서 원하는 상품을 선택하고 점포간 무료배송으로 저렴한 배송비를 쉽게 누릴 수 있습니다.

반품 정책

30일 이내 반품 및 교환 보증을 제공합니다. 제품은 새로 사용하지 않은 원래 포장에 구매 증명서가 첨부되어 있어야 합니다. 상품 품질 문제, 잘못된 배송, 배송 누락 등 판매자의 실수로 인한 경우 환불 처리됩니다. 기타 사유로 인한 반품 및 교환은 배송비는 고객이 자체로 부담하셔야 합니다. 모든 제품은 장거리 배송을 하기 때문에 간혹 간단한 외부 포장이 눌려 마모되는 등이 있지만 내부 품질 문제가 없는 경우 반품 및 교환할 수 없습니다.

배송 정보

Yami 중국집하배송 Consolidated Shipping 배송비 $9.99 ($69 이상 주문시 무료배송)

중국 판매자는 주문 후 영업일 기준 2일 후에 상품을 발송합니다. 모든 택배는 Yami 중국통합센터(특별한 상황 및 중국 내 개별 법정 공휴일 제외)에 도착하여 택배를 합친 후 UPS를 통해 미국으로 배송됩니다. UPS는 중국에서 발송 후 미국까지 평균 10영업일 정도 소요되며 직배송 주문 번호에 따라 수시로 추적 및 조회할 수 있습니다 전염병의 영향으로 현재 물류가 5일 정도 지연될 수 있습니다. 택배는 고객 서명이 필요합니다. 서명하지 않은 경우 고객은 택배가 분실될 위험을 부담하게 됩니다.

JD@CHINA 판매

서비스 보장

69이상 주문 시 무료 배송
정품 보증

배송 정보

Yami Consolidated Shipping배송비$9.99($69 이상 주문 시 무료 배송)


Seller will ship the orders within 1-2 business days. The logistics time limit is expected to be 7-15 working days. In case of customs clearance, the delivery time will be extended by 3-7 days. The final receipt date is subject to the information of the postal company.

포인트 규칙

모든 품목은 Yamibuy 의 프로모션이나 포인트 이벤트에서 제외됩니다.

반품 및 교환 정책

제품을 받으신 후 30일 이내에 제품을 반품하실 수 있습니다. 반품된 품목은 구매에 대한 원본 송장을 포함하여 원래 포장된 새 품목이어야 합니다. 고객이 자신의 비용으로 제품을 반품합니다.

Yami

Yami 앱 다운로드

맨 위로 돌아가기

당신을 위한 추천

브랜드 스토리

Jingdong book

为您推荐

Yami
欣葉
2种选择
欣叶 御大福 芋头麻薯 180g

周销量 600+

$1.66 $1.99 83折
Yami
欣葉
2种选择
欣叶 御大福 芋头麻薯 180g

周销量 600+

$1.66 $1.99 83折
Yami
欣葉
2种选择
欣叶 御大福 芋头麻薯 180g

周销量 600+

$1.66 $1.99 83折
Yami
欣葉
2种选择
欣叶 御大福 芋头麻薯 180g

周销量 600+

$1.66 $1.99 83折
Yami
欣葉
2种选择
欣叶 御大福 芋头麻薯 180g

周销量 600+

$1.66 $1.99 83折
Yami
欣葉
2种选择
欣叶 御大福 芋头麻薯 180g

周销量 600+

$1.66 $1.99 83折

리뷰{{'('+ commentList.posts_count + ')'}}

당신의 체험을 공유하고 더 많은 사용자가 선택할 수 있도록 도와줍니다.

리뷰 작성
{{ totalRating }} 리뷰 작성
  • {{i}}별

    {{i}} 별

    {{ parseInt(commentRatingList[i]) }}%

Yami Yami
{{ comment.user_name }}

{{ showTranslate(comment) }}접기

{{ strLimit(comment,800) }}전체 보기

Show Original

{{ comment.content }}

Yami
모두 보기

{{ formatTime(comment.in_dtm) }} 구매 완료 {{groupData}}

{{ comment.likes_count }} {{ comment.likes_count }} {{ comment.reply_count }} {{comment.in_user==uid ? __('Delete') : __('Report')}}
Yami Yami
{{ comment.user_name }}

{{ showTranslate(comment) }}접기

{{ strLimit(comment,800) }}전체 보기

Show Original

{{ comment.content }}

Yami
모두 보기

{{ formatTime(comment.in_dtm) }} 구매 완료 {{groupData}}

{{ comment.likes_count }} {{ comment.likes_count }} {{ comment.reply_count }} {{comment.in_user==uid ? __('Delete') : __('Report')}}

조건에 맞는 리뷰가 없습니다

리뷰 상세

Yami Yami

{{ showTranslate(commentDetails) }}접기

{{ strLimit(commentDetails,800) }}전체 보기

Show Original

{{ commentDetails.content }}

Yami
모두 보기

{{ formatTime(commentDetails.in_dtm) }} 구매 완료 {{groupData}}

{{ commentDetails.likes_count }} {{ commentDetails.likes_count }} {{ commentDetails.reply_count }} {{commentDetails.in_user==uid ? __('Delete') : __('Report')}}

내용을 입력하세요

답변{{'(' + replyList.length + ')'}}

Yami Yami

{{ showTranslate(reply) }}접기

{{ strLimit(reply,800) }}전체 보기

Show Original

{{ reply.reply_content }}

{{ formatTime(reply.reply_in_dtm) }}

{{ reply.reply_likes_count }} {{ reply.reply_likes_count }} {{ reply.reply_reply_count }} {{reply.reply_in_user==uid ? __('Delete') : __('Report')}}

내용을 입력하세요

취소

지금까지의 모든 리뷰입니다!

리뷰 작성하기
상품 평점

댓글을 입력하세요.

  • 좋은 닉네임이 당신의 리뷰를 더 인기 있게 만들 것입니다!
  • 여기에서 닉네임을 변경하면 개인정보의 닉네임도 같이 변경됩니다.
리뷰를 남겨주셔서 감사합니다
당신의 좋은 리뷰는 우리 커뮤니티가 아시아 최고의 상품을 찾는 데 도움이 됩니다.

신고하기

취소

이 리뷰를 삭제하시겠습니까?

취소

최근 본 상품

브랜드 스토리

Jingdong book