zoukankan      html  css  js  c++  java
  • 编写高质量JavaScript代码的68个有效方法

    简介:

    《Effective JavaScript:编写高质量JavaScript代码的68个有效方法》共分为7章,分别涵盖JavaScript的不同主题。第1章主要讲述最基本的主题,如版本、类型转换要点、运算符注意事项和分号局限等。第2章主要讲解变量作用域,介绍此方面的一些基本概念,以及一些最佳实践经验。第3章主要讲解函数的使用,深刻解析函数、方法和类,并教会读者在不同的环境下高效使用函数。第4章主要讲解原型和对象,分析JavaScript的继承机制以及原型和对象使用的最佳实践和原则。第5章主要介绍数组和字典,阐述将对象作为集合的用法以及使用数组和字典的一些陷阱。第6章介绍库和API,讲解如何设计良好的API的技巧,以清楚、简洁和明确地表达程序,并提高可重用率。第7章讲解并发,在技术上讨论一些“约定成俗”的JavaScript用法。

    封面:
    《编写高质量JavaScript代码的68个有效方法》
    目录:
    本书赞誉
    译者序

    前言
    第1章 让自己习惯JavaScript
    第1条:了解你使用的JavaScript版本
    第2条:理解JavaScript的浮点数
    第3条:当心隐式的强制转换
    第4条:原始类型优于封装对象
    第5条:避免对混合类型使用==运算符
    第6条:了解分号插入的局限
    第7条:视字符串为16位的代码单元序列

    第2章 变量作用域
    第8条:尽量少用全局对象
    第9条:始终声明局部变量
    第10条:避免使用with
    第11条:熟练掌握闭包
    第12条:理解变量声明提升
    第13条:使用立即调用的函数表达式创建局部作用域
    第14条:当心命名函数表达式笨拙的作用域
    第15条:当心局部块函数声明笨拙的作用域
    第16条:避免使用eval创建局部变量
    第17条:间接调用eval函数优于直接调用

    第3章 使用函数
    第18条:理解函数调用、方法调用及构造函数调用之间的不同
    第19条:熟练掌握高阶函数
    第20条:使用call方法自定义接收者来调用方法
    第21条:使用apply方法通过不同数量的参数调用函数
    第22条:使用arguments创建可变参数的函数
    第23条:永远不要修改arguments对象
    第24条:使用变量保存arguments的引用
    第25条:使用bind方法提取具有确定接收者的方法
    第26条:使用bind方法实现函数柯里化
    第27条:使用闭包而不是字符串来封装代码
    第28条:不要信赖函数对象的toString方法
    第29条:避免使用非标准的栈
    检查属性

    第4章 对象和原型
    第30条:理解prototype、getPrototype Of和__proto__之间的不同
    第31条:使用Object.getPrototypeOf函数而不要使用__proto__属性
    第32条:始终不要修改__proto__属性
    第33条:使构造函数与new操作符无关
    第34条:在原型中存储方法
    第35条:使用闭包存储私有数据
    第36条:只将实例状态存储在实例对象中
    第37条:认识到this变量的隐式绑定问题
    第38条:在子类的构造函数中调用父类的构造函数
    第39条:不要重用父类的属性名
    第40条:避免继承标准类
    第41条:将原型视为实现细节
    第42条:避免使用轻率的猴子补丁

    第5章 数组和字典
    第43条:使用Object的直接实例构造轻量级的字典
    第44条:使用null原型以防止原型污染
    第45条:使用hasOwnProperty方法以避免原型污染
    第46条:使用数组而不要使用字典来存储有序集合
    第47条:绝不要在Object.prototype中增加可枚举的属性
    第48条:?避免在枚举期间修改对象
    第49条:数组迭代要优先使用for循环而不是for...in循环
    第50条:迭代方法优于循环
    第51条:在类数组对象上复用通用的数组方法
    第52条:数组字面量优于数组构造函数

    第6章 库和API设计
    第53条:保持一致的约定
    第54条:将undefined看做“没有值”
    第55条:接收关键字参数的选项对象
    第56条:避免不必要的状态
    第57条:使用结构类型设计灵活的接口
    第58条:区分数组对象和类数组对象
    第59条:避免过度的强制转换
    第60条:支持方法链

    第7章 并发
    第61条:不要阻塞I/O事件队列
    第62条:在异步序列中使用嵌套或命名的回调函数
    第63条:当心丢弃错误
    第64条:对异步循环使用递归
    第65条:不要在计算时阻塞事件队列
    第66条:使用计数器来执行并行操作
    第67条:绝不要同步地调用异步的回调函数
    第68条:使用promise模式清洁异步逻辑

    电子书下载链接: http://pan.baidu.com/s/1eSNQvS2   提取密码: 请关注右下方二维码后回复资源名获取

  • 相关阅读:
    mongo admin 客户端管理工具安装
    kong API gateway
    安装 docker管理 工具 页面 portainer
    elcipse 安装lombok插件解决 @Slf4j 等找不到log变量问题
    cqrs案例
    你还不知道这四点Mysql调优的话,那就赶快学起来
    python中的类型提示(type hint)
    大厂面试最常被问的Redis问题合集
    nginx gzip json [2]
    nginx gzip json 配置「1」
  • 原文地址:https://www.cnblogs.com/zgblog/p/5488033.html
Copyright © 2011-2022 走看看