Effective Javascript:编写高质量JavaScript代码的68个有效方法(英文版)

Effective Javascript:编写高质量JavaScript代码的68个有效方法(英文版)
分享
扫描下方二维码分享到微信
打开微信,点击右上角”+“,
使用”扫一扫“即可将网页分享到朋友圈。
作者: [美] (大卫·赫尔曼)
2016-03
版次: 1
ISBN: 9787121273032
定价: 65.00
装帧: 平装
开本: 16开
纸张: 胶版纸
页数: 224页
字数: 270千字
正文语种: 英语
原版书名: 大卫·赫尔曼 (David Herman)
24人买过
  •   本书由资深 JavaScript 技术专家 David Herman 所著。书中基于 JavaScript 标准的新版本前所未有地阐明了 JavaScript 语言的内部运作机制――帮助你充分利用 JavaScript 语言的表现力。通过全书归纳的 68 个行之有效的方法和大量具体实例,作者详细讲解了如何更有效地运用这门灵活且富有表现力的语言,以及如何规避其缺陷。你将学到如何选择正确的编程风格,管理一些超出意料的问题,以及成功使用 JavaScript 编程完成从数据结构到并发的方方面面。
      无论你写了多久的 JavaScript 代码,本书都将有助于增进你对这门强大的编程语言的理解,助你编写更可预测、更可靠且具维护性的程序。
      David Herman,资深JavaScript技术专家,Ecma TC39委员会成员,负责JavaScript的标准化工作。他拥有格林内尔学院的计算机科学学士学位和美国东北大学的计算机科学硕士及博士学位,现任Mozilla研究院高级研究员。

    推荐序
    前言
    致谢
    关于作者
    Chapter 1: Accustoming Yourself to JavaScript
    Item 1: Know Which JavaScript You Are Using
    Item 2: Understand JavaScript’s Floating-Point Numbers
    Item 3: Beware of Implicit Coercions
    Item 4: Prefer Primitives to Object Wrappers
    Item 5: Avoid using == with Mixed Types
    Item 6: Learn the Limits of Semicolon Insertion
    Item 7: Think of Strings As Sequences of 16-Bit Code Units
    Chapter 2: Variable Scope
    Item 8: Minimize Use of the Global Object
    Item 9: Always Declare Local Variables
    Item 10: Avoid with
    Item 11: Get Comfortable with Closures
    Item 12: Understand Variable Hoisting
    Item 13: Use Immediately Invoked Function Expressions to Create Local Scopes
    Item 14: Beware of Unportable Scoping of Named Function Expressions
    Item 15: Beware of Unportable Scoping of Block-Local Function Declarations
    Item 16: Avoid Creating Local Variables with eval
    Item 17: Prefer Indirect eval to Direct eval
    Chapter 3: Working with Functions
    Item 18: Understand the Difference between Function, Method, and Constructor Calls
    Item 19: Get Comfortable Using Higher-Order Functions
    Item 20: Use call to Call Methods with a Custom Receiver
    Item 21: Use apply to Call Functions with Different Numbers of Arguments
    Item 22: Use arguments to Create Variadic Functions
    Item 23: Never Modify the arguments Object
    Item 24: Use a Variable to Save a Reference to arguments
    Item 25: Use bind to Extract Methods with a Fixed Receiver
    Item 26: Use bind to Curry Functions
    Item 27: Prefer Closures to Strings for Encapsulating Code
    Item 28: Avoid Relying on the toString Method of Functions
    Item 29: Avoid Nonstandard Stack Inspection Properties
    Chapter 4: Objects and Prototypes
    Item 30: Understand the Difference between prototype, getPrototypeOf, and__proto__
    Item 31: Prefer Object.getPrototypeOf to __proto__
    Item 32: Never Modify __proto__
    Item 33: Make Your Constructors new-Agnostic
    Item 34: Store Methods on Prototypes
    Item 35: Use Closures to Store Private Data
    Item 36: Store Instance State Only on Instance Objects
    Item 37: Recognize the Implicit Binding of this
    Item 38: Call Superclass Constructors from Subclass Constructors
    Item 39: Never Reuse Superclass Property Names
    Item 40: Avoid Inheriting from Standard Classes
    Item 41: Treat Prototypes As an Implementation Detail
    Item 42: Avoid Reckless Monkey-Patching
    Chapter 5: Arrays and Dictionaries
    Item 43: Build Lightweight Dictionaries from Direct Instances of Object
    Item 44: Use null Prototypes to Prevent Prototype Pollution
    Item 45: Use hasOwnProperty to Protect Against Prototype Pollution
    Item 46: Prefer Arrays to Dictionaries for Ordered Collections
    Item 47: Never Add Enumerable Properties to Object.prototype
    Item 48: Avoid Modifying an Object during Enumeration
    Item 49: Prefer for Loops to for...in Loops for Array Iteration
    Item 50: Prefer Iteration Methods to Loops
    Item 51: Reuse Generic Array Methods on Array-Like Objects
    Item 52: Prefer Array Literals to the Array Constructor
    Chapter 6: Library and API Design
    Item 53: Maintain Consistent Conventions
    Item 54: Treat undefined As “No Value”
    Item 55: Accept Options Objects for Keyword Arguments
    Item 56: Avoid Unnecessary State
    Item 57: Use Structural Typing for Flexible Interfaces
    Item 58: Distinguish between Array and Array-Like
    Item 59: Avoid Excessive Coercion
    Item 60: Support Method Chaining
    Chapter 7: Concurrency
    Item 61: Don’t Block the Event Queue on I/O
    Item 62: Use Nested or Named Callbacks for Asynchronous Sequencing
    Item 63: Be Aware of Dropped Errors
    Item 64: Use Recursion for Asynchronous Loops
    Item 65: Don’t Block the Event Queue on Computation
    Item 66: Use a Counter to Perform Concurrent Operations
    Item 67: Never Call Asynchronous Callbacks Synchronously
    Item 68: Use Promises for Cleaner Asynchronous Logic
    Index
  • 内容简介:
      本书由资深 JavaScript 技术专家 David Herman 所著。书中基于 JavaScript 标准的新版本前所未有地阐明了 JavaScript 语言的内部运作机制――帮助你充分利用 JavaScript 语言的表现力。通过全书归纳的 68 个行之有效的方法和大量具体实例,作者详细讲解了如何更有效地运用这门灵活且富有表现力的语言,以及如何规避其缺陷。你将学到如何选择正确的编程风格,管理一些超出意料的问题,以及成功使用 JavaScript 编程完成从数据结构到并发的方方面面。
      无论你写了多久的 JavaScript 代码,本书都将有助于增进你对这门强大的编程语言的理解,助你编写更可预测、更可靠且具维护性的程序。
  • 作者简介:
      David Herman,资深JavaScript技术专家,Ecma TC39委员会成员,负责JavaScript的标准化工作。他拥有格林内尔学院的计算机科学学士学位和美国东北大学的计算机科学硕士及博士学位,现任Mozilla研究院高级研究员。

  • 目录:
    推荐序
    前言
    致谢
    关于作者
    Chapter 1: Accustoming Yourself to JavaScript
    Item 1: Know Which JavaScript You Are Using
    Item 2: Understand JavaScript’s Floating-Point Numbers
    Item 3: Beware of Implicit Coercions
    Item 4: Prefer Primitives to Object Wrappers
    Item 5: Avoid using == with Mixed Types
    Item 6: Learn the Limits of Semicolon Insertion
    Item 7: Think of Strings As Sequences of 16-Bit Code Units
    Chapter 2: Variable Scope
    Item 8: Minimize Use of the Global Object
    Item 9: Always Declare Local Variables
    Item 10: Avoid with
    Item 11: Get Comfortable with Closures
    Item 12: Understand Variable Hoisting
    Item 13: Use Immediately Invoked Function Expressions to Create Local Scopes
    Item 14: Beware of Unportable Scoping of Named Function Expressions
    Item 15: Beware of Unportable Scoping of Block-Local Function Declarations
    Item 16: Avoid Creating Local Variables with eval
    Item 17: Prefer Indirect eval to Direct eval
    Chapter 3: Working with Functions
    Item 18: Understand the Difference between Function, Method, and Constructor Calls
    Item 19: Get Comfortable Using Higher-Order Functions
    Item 20: Use call to Call Methods with a Custom Receiver
    Item 21: Use apply to Call Functions with Different Numbers of Arguments
    Item 22: Use arguments to Create Variadic Functions
    Item 23: Never Modify the arguments Object
    Item 24: Use a Variable to Save a Reference to arguments
    Item 25: Use bind to Extract Methods with a Fixed Receiver
    Item 26: Use bind to Curry Functions
    Item 27: Prefer Closures to Strings for Encapsulating Code
    Item 28: Avoid Relying on the toString Method of Functions
    Item 29: Avoid Nonstandard Stack Inspection Properties
    Chapter 4: Objects and Prototypes
    Item 30: Understand the Difference between prototype, getPrototypeOf, and__proto__
    Item 31: Prefer Object.getPrototypeOf to __proto__
    Item 32: Never Modify __proto__
    Item 33: Make Your Constructors new-Agnostic
    Item 34: Store Methods on Prototypes
    Item 35: Use Closures to Store Private Data
    Item 36: Store Instance State Only on Instance Objects
    Item 37: Recognize the Implicit Binding of this
    Item 38: Call Superclass Constructors from Subclass Constructors
    Item 39: Never Reuse Superclass Property Names
    Item 40: Avoid Inheriting from Standard Classes
    Item 41: Treat Prototypes As an Implementation Detail
    Item 42: Avoid Reckless Monkey-Patching
    Chapter 5: Arrays and Dictionaries
    Item 43: Build Lightweight Dictionaries from Direct Instances of Object
    Item 44: Use null Prototypes to Prevent Prototype Pollution
    Item 45: Use hasOwnProperty to Protect Against Prototype Pollution
    Item 46: Prefer Arrays to Dictionaries for Ordered Collections
    Item 47: Never Add Enumerable Properties to Object.prototype
    Item 48: Avoid Modifying an Object during Enumeration
    Item 49: Prefer for Loops to for...in Loops for Array Iteration
    Item 50: Prefer Iteration Methods to Loops
    Item 51: Reuse Generic Array Methods on Array-Like Objects
    Item 52: Prefer Array Literals to the Array Constructor
    Chapter 6: Library and API Design
    Item 53: Maintain Consistent Conventions
    Item 54: Treat undefined As “No Value”
    Item 55: Accept Options Objects for Keyword Arguments
    Item 56: Avoid Unnecessary State
    Item 57: Use Structural Typing for Flexible Interfaces
    Item 58: Distinguish between Array and Array-Like
    Item 59: Avoid Excessive Coercion
    Item 60: Support Method Chaining
    Chapter 7: Concurrency
    Item 61: Don’t Block the Event Queue on I/O
    Item 62: Use Nested or Named Callbacks for Asynchronous Sequencing
    Item 63: Be Aware of Dropped Errors
    Item 64: Use Recursion for Asynchronous Loops
    Item 65: Don’t Block the Event Queue on Computation
    Item 66: Use a Counter to Perform Concurrent Operations
    Item 67: Never Call Asynchronous Callbacks Synchronously
    Item 68: Use Promises for Cleaner Asynchronous Logic
    Index
查看详情
系列丛书 / 更多
Effective Javascript:编写高质量JavaScript代码的68个有效方法(英文版)
Effective Java(第2版 英文版)
[美]Joshua Bloch(约书亚·布洛赫) 著
Effective Javascript:编写高质量JavaScript代码的68个有效方法(英文版)
代码大全(第2版 英文版)
[美]Steve McConnell(史蒂夫·迈克康奈尔) 著
Effective Javascript:编写高质量JavaScript代码的68个有效方法(英文版)
Java虚拟机规范(Java SE 8版 英文版)
[美]Tim(蒂姆·林霍尔姆)、[美]Frank(费兰克·耶林)、[美]Gilad(吉拉德·布拉查)、[美]Alex Buckley(亚力克斯·巴克利) 著
Effective Javascript:编写高质量JavaScript代码的68个有效方法(英文版)
C11编程导论(英文版)
[美]Paul(保罗·戴特尔)、Harvey Deitel(哈维·戴特尔) 著
Effective Javascript:编写高质量JavaScript代码的68个有效方法(英文版)
C语言程序设计(第4版 英文版)
[美]Stephen G.Kochan(史蒂芬·G·寇肯) 著
Effective Javascript:编写高质量JavaScript代码的68个有效方法(英文版)
实现领域驱动设计英文版
[美]Vaughn Vernon(沃恩·弗农) 著
Effective Javascript:编写高质量JavaScript代码的68个有效方法(英文版)
Effective Objective-C 2.0:编写高质量iOS与OS X代码的52个有效方法 英文版
[美]Matt Galloway(马特·加洛韦) 著
Effective Javascript:编写高质量JavaScript代码的68个有效方法(英文版)
Clean Architecture:软件架构与设计匠艺(英文版)
[美]Robert、C.Martin 著
Effective Javascript:编写高质量JavaScript代码的68个有效方法(英文版)
Effective Ruby:编写高质量Ruby代码的48个有效方法(英文版)
[美]Peter J.Jones(彼得·J.琼斯) 著
Effective Javascript:编写高质量JavaScript代码的68个有效方法(英文版)
Java SE8 程序设计(第3版 英文版)
[美]Paul(保罗·戴特尔)、Harvey Deitel(哈维·戴特尔) 著
Effective Javascript:编写高质量JavaScript代码的68个有效方法(英文版)
Effective SQL:编写高质量SQL语句的61条有效方法(英文版)
约翰·L·威克斯(John L.Viescas);道格拉斯·J·斯蒂尔(Douglas J.Steele);本·G·克洛希尔(Ben G.Clothier)
Effective Javascript:编写高质量JavaScript代码的68个有效方法(英文版)
Objective-C程序设计(第6版 英文版)
[美]Stephen G.Kochan(史蒂芬.G.寇肯) 著
相关图书 / 更多
Effective Javascript:编写高质量JavaScript代码的68个有效方法(英文版)
Effective Cycling
Forester;John
Effective Javascript:编写高质量JavaScript代码的68个有效方法(英文版)
Effective数据科学基础设施
[芬兰]维莱·图洛斯(Ville Tuulos)著 郭涛 译
Effective Javascript:编写高质量JavaScript代码的68个有效方法(英文版)
Effective TypeScript:精进TypeScript代码的62个实践方法
[美]丹·范德卡姆(Dan Vanderkam);王瑞鹏;董强
Effective Javascript:编写高质量JavaScript代码的68个有效方法(英文版)
Effective Java (第3版 英文版)
约书亚·布洛克(Joshua Bloch)
Effective Javascript:编写高质量JavaScript代码的68个有效方法(英文版)
Effective Java中文版(原书第3版)
(美)约书亚·布洛克(Joshua Bloch)
Effective Javascript:编写高质量JavaScript代码的68个有效方法(英文版)
Effective软件测试
[荷兰]毛里西奥·阿尼什(Maurício Aniche)著 朱少民 李洁 张元 译
Effective Javascript:编写高质量JavaScript代码的68个有效方法(英文版)
Effective Python:编写高质量Python代码的90个有效方法(原书第2版)
[美]布雷特·斯拉特金(Brett Slatkin)
Effective Javascript:编写高质量JavaScript代码的68个有效方法(英文版)
Effective Python:编写好Python的90个有效方法(第2版 英文版)
(美)布雷特·斯拉特金(Brett Slatkin)
Effective Javascript:编写高质量JavaScript代码的68个有效方法(英文版)
Effective Business Writing Strategies, Suggestions and Examples
Piotrowski;Maryann V
Effective Javascript:编写高质量JavaScript代码的68个有效方法(英文版)
Effective C中文版
[美]罗伯特·C. 西科德(Robert C. Seacord)
Effective Javascript:编写高质量JavaScript代码的68个有效方法(英文版)
Effective Python:改善Python程序的90个建议 (第2版)(英文版)
[美]Brett Slatkin(布雷特·斯莱特金)
Effective Javascript:编写高质量JavaScript代码的68个有效方法(英文版)
Effective Cybersecurity 中文版
[美]威廉·斯托林斯(William Stallings)
您可能感兴趣 / 更多
Effective Javascript:编写高质量JavaScript代码的68个有效方法(英文版)
归属感:如何通过社群获得商业竞争优势
[美]大卫·斯平克斯(David Spinks) 著;颉腾文化 出品
Effective Javascript:编写高质量JavaScript代码的68个有效方法(英文版)
《世界上最大的肚子》2024百班千人暑期书目学前中班名师推荐全新正版现货速发
[美]雷米·查利普(美)柏顿·萨普瑞
Effective Javascript:编写高质量JavaScript代码的68个有效方法(英文版)
经济学通义
[美]阿门·A.阿尔钦 (美)威廉·R.艾伦 著;[美]杰里·L.乔丹 编
Effective Javascript:编写高质量JavaScript代码的68个有效方法(英文版)
数字化领导力 数字化转型锦囊,领导力精进指南 一本书掌握数字化转型领导力之道
[美]艾萨克·萨科里克 著;王磊 译;颉腾文化 出品;邓斌
Effective Javascript:编写高质量JavaScript代码的68个有效方法(英文版)
法哲学基本原理
[美]马克·C.墨菲
Effective Javascript:编写高质量JavaScript代码的68个有效方法(英文版)
雪花的故事(用照片展示雪花的秘密,为你揭开冬日奇景的奥秘)
[美]马克·卡西诺[美]乔恩·尼尔森
Effective Javascript:编写高质量JavaScript代码的68个有效方法(英文版)
杜甫传
[美]弗洛伦斯.艾思柯
Effective Javascript:编写高质量JavaScript代码的68个有效方法(英文版)
神奇的数字零:从数字0开始的极简数学史和人类发展史
[美]查尔斯·塞弗(Charles Seife)著 杨杨立汝 译
Effective Javascript:编写高质量JavaScript代码的68个有效方法(英文版)
环境的科学 (平装版)
[美]威廉·坎宁安 后浪
Effective Javascript:编写高质量JavaScript代码的68个有效方法(英文版)
美利坚在燃烧:20世纪60年代以来的警察暴力与黑人反抗
[美]伊丽莎白·欣顿 著 胡位钧 译
Effective Javascript:编写高质量JavaScript代码的68个有效方法(英文版)
儒教中国及其现代命运(三部曲)
[美]列文森 作者;[中]季剑青 译者
Effective Javascript:编写高质量JavaScript代码的68个有效方法(英文版)
逃家小兔成长绘本系列
[美]玛格丽特.怀兹.布朗