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

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

1星价 ¥55.3 (8.5折)
2星价¥55.3 定价¥65.0
暂无评论
图文详情
  • ISBN:9787121273032
  • 装帧:暂无
  • 册数:暂无
  • 重量:暂无
  • 开本:16开
  • 页数:205
  • 出版时间:2016-04-01
  • 条形码:9787121273032 ; 978-7-121-27303-2

本书特色

本书由资深 javascript 技术专家 david herman 所著。书中基于 javascript 标准的新版本前所未有地阐明了 javascript 语言的内部运作机制——帮助你充分利用 javascript 语言的表现力。通过全书归纳的 68 个行之有效的方法和大量具体实例,作者详细讲解了如何更有效地运用这门灵活且富有表现力的语言,以及如何规避其缺陷。你将学到如何选择正确的编程风格,管理一些超出意料的问题,以及成功使用 javascript 编程完成从数据结构到并发的方方面面。无论你写了多久的 javascript 代码,本书都将有助于增进你对这门强大的编程语言的理解,助你编写更可预测、更可靠且具维护性的程序。

内容简介

通过全书归纳的68个行之有效的方法和大量具体实例,你将学会:*更好地使用基于原型的面向对象编程方式*数组和字典对象的微妙区别和解决方案*javascript函数和变量作用域语义方面的精确、务实的解说*一些有用的javascript编程模式和惯用法,比如选项对象和方法链*使用javascript独特的“运行到完成”的方式深入阐释并发 

目录

推荐序前言致谢关于作者chapter 1: accustoming yourself to javascriptitem 1: know which javascript you are usingitem 2: understand javascript’s floating-point numbersitem 3: beware of implicit coercionsitem 4: prefer primitives to object wrappersitem 5: avoid using == with mixed typesitem 6: learn the limits of semicolon insertionitem 7: think of strings as sequences of 16-bit code unitschapter 2: variable scopeitem 8: minimize use of the global objectitem 9: always declare local variablesitem 10: avoid withitem 11: get comfortable with closuresitem 12: understand variable hoistingitem 13: use immediately invoked function expressions to create local scopesitem 14: beware of unportable scoping of named function expressionsitem 15: beware of unportable scoping of block-local function declarationsitem 16: avoid creating local variables with evalitem 17: prefer indirect eval to direct evalchapter 3: working with functionsitem 18: understand the difference between function, method, and constructor callsitem 19: get comfortable using higher-order functionsitem 20: use call to call methods with a custom receiveritem 21: use apply to call functions with different numbers of argumentsitem 22: use arguments to create variadic functionsitem 23: never modify the arguments objectitem 24: use a variable to save a reference to argumentsitem 25: use bind to extract methods with a fixed receiveritem 26: use bind to curry functionsitem 27: prefer closures to strings for encapsulating codeitem 28: avoid relying on the tostring method of functionsitem 29: avoid nonstandard stack inspection propertieschapter 4: objects and prototypesitem 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-agnosticitem 34: store methods on prototypesitem 35: use closures to store private dataitem 36: store instance state only on instance objectsitem 37: recognize the implicit binding of thisitem 38: call superclass constructors from subclass constructorsitem 39: never reuse superclass property namesitem 40: avoid inheriting from standard classesitem 41: treat prototypes as an implementation detailitem 42: avoid reckless monkey-patchingchapter 5: arrays and dictionariesitem 43: build lightweight dictionaries from direct instances of objectitem 44: use null prototypes to prevent prototype pollutionitem 45: use hasownproperty to protect against prototype pollutionitem 46: prefer arrays to dictionaries for ordered collectionsitem 47: never add enumerable properties to object.prototypeitem 48: avoid modifying an object during enumerationitem 49: prefer for loops to for...in loops for array iterationitem 50: prefer iteration methods to loopsitem 51: reuse generic array methods on array-like objectsitem 52: prefer array literals to the array constructorchapter 6: library and api designitem 53: maintain consistent conventionsitem 54: treat undefined as “no value”item 55: accept options objects for keyword argumentsitem 56: avoid unnecessary stateitem 57: use structural typing for flexible interfacesitem 58: distinguish between array and array-likeitem 59: avoid excessive coercionitem 60: support method chainingchapter 7: concurrencyitem 61: don’t block the event queue on i/oitem 62: use nested or named callbacks for asynchronous sequencingitem 63: be aware of dropped errorsitem 64: use recursion for asynchronous loopsitem 65: don’t block the event queue on computationitem 66: use a counter to perform concurrent operationsitem 67: never call asynchronous callbacks synchronouslyitem 68: use promises for cleaner asynchronous logicindex
展开全部

相关资料

这是一本绝不辜负 effective 软件开发系列期望的编程书籍。对于任何一位想要做到严谨编程的 javascript 开发者来说,这本书绝对不容错过。本书阐述了 javascript 内部工作细节,以期帮助读者更好地利用 javascript 语言优势。——erik arvidsson,高级软件工程师很少有像 david 这样的编程语言极客能如此舒适、 友好地讲解编程语言。他带我们领会 javascript 的语法和语义,这个过程既令人陶醉又极其深刻。本书以舒适的节奏额外提供了一些“有问题”的现实案例。当读完这本书后,你会感觉自己获得了一种强大而全面的掌控能力。——paul irish,google chrome 开发主管在阅读本书之前,我以为它只是另一本关于如何更好地使用 javascript 编程的书籍。然而它远不止如此,它还会使你更深入地理解 javascript 这门语言,这一点至关重要。如果没有这层对 javascript 的深入理解,那么你绝不会懂得语言本身的任何东西,知道其他的程序员是如何编写代码的。如果你想成为一名真正优秀的 javascript 开发者,那么请阅读此书。就我而言,我多么希望在**次用 javascript 编程时就已经阅读了它。——anton kovalyov,jshint 开发者如果你正在寻找一本正式且极具可读性及洞察力的 javascript 语言书籍的话,那不用舍近求远了。javascript 开发者能够从其中找到珍贵的知识宝藏,甚至技术精湛的 javascript 程序员也一定能从中获益。对于有其他语言经验而想一头扎进 javascript 世界的从业人员来说,本书是迅速学习 javascript 的必读之物。然而,不管你的背景如何,都不得不承认作者 dave herman 在探索 javascript 方面做得非常棒——javascript 的优势部分、不足部分或介于两者之间的所有内容都囊括于本书之中。——rebecca murphey,bocoup 高级 javascript 开发者对于任何一位理解 javascript 并且想要完全掌握它的人来说,本书都是必不可少的读物。dave herman 带给了读者深刻的、具有研究和实践意义的 javascript 语言理解,通过一个接一个的例子指导并帮助读者达到与他同样的理解高度。这不是一本寻求捷径的书籍,恰恰相反,它是一本难得的将经验提炼为指南的书籍。它是一本为数不多让我毫不犹豫推荐的关于 javascript 的书籍。——alex russell,tc39 成员,google 软件工程师很少有人能有机会学到大师的手艺。这本书弥补了这种遗憾,其对 javascript 的研究就像随一位时间旅行哲学家回到公元前 5 世纪与柏拉图一同学习一般。——rick waldron,javascript 传教士,bocoup

作者简介

David Herman,资深JavaScript技术专家,Ecma TC39委员会成员,负责JavaScript的标准化工作。他拥有格林内尔学院的计算机科学学士学位和美国东北大学的计算机科学硕士及博士学位,现任Mozilla研究院高级研究员。

预估到手价 ×

预估到手价是按参与促销活动、以最优惠的购买方案计算出的价格(不含优惠券部分),仅供参考,未必等同于实际到手价。

确定
快速
导航