摘要: 第五章 解构:使数据访问更便捷 对象解构 let node = { type: 'id', name: 'foo', }; let {type, name} = node; // type === 'id', name === 'foo' let {type: TYPE, name: NAME} = 阅读全文
posted @ 2019-06-27 15:59 欢笑还 阅读(224) 评论(0) 推荐(0) 编辑
摘要: 目录 第四章 扩展对象的功能性对象类别对象字面量语法扩展属性初始值的改写对象方法的简写可计算属性名新增方法Object.is()方法Object.assign()方法重复的对象字面量属性自有属性枚举顺序增强对象原型改变对象原型简化原型访问的super引用正式的方法定义 第四章 扩展对象的功能性 对象 阅读全文
posted @ 2019-06-27 15:58 欢笑还 阅读(101) 评论(0) 推荐(0) 编辑
摘要: 第三章 函数 函数形参的默认值 ES5模拟默认参数 function makeRequest (url, timeout, callback) { timeout = timeout || 2000; callback = callback || function () {}; } 为形参赋予默认值 阅读全文
posted @ 2019-06-27 15:57 欢笑还 阅读(116) 评论(0) 推荐(0) 编辑
摘要: 目录 第二章 字符串和正则表达式UTF 16码位codePointAt()方法String.fromCodePoint()方法normalize()方法正则表达式u修饰符其他字符串变更字符串中的字串识别repeat()方法其他正则表达式语法变更y修饰符正则表达式的复制flags属性模板字面量基础语法 阅读全文
posted @ 2019-06-27 15:56 欢笑还 阅读(719) 评论(0) 推荐(0) 编辑
摘要: 第一章 块级作用域绑定 var声明及变量提升(Hoisting)机制 通过关键字var声明的变量,都会被当成在当前作用域顶部声明的变量。 块级声明 块级作用域存在于: 函数内部 块中(用大括号{}分隔) 用let来声明变量,就可以把变量的作用域限制在当前代码块中。let声明不会被提升,所以通常将le 阅读全文
posted @ 2019-06-27 15:55 欢笑还 阅读(384) 评论(0) 推荐(0) 编辑
摘要: 第一章 异步:现在与将来 程序中现在运行的部分和将来运行的部分之间的关系就是异步编程的核心。 场景:等待用户输入、从数据库或文件系统中请求数据、通过网络 发送数据并等待响应,或者是在以固定时间间隔执行重复任务(比如动画) 1.1 分块的程序 最常见的块单位是函数。 从现在到将来的等待,最简单的方法是 阅读全文
posted @ 2019-06-27 15:53 欢笑还 阅读(650) 评论(0) 推荐(0) 编辑
摘要: 第一章 类型 1.2 内置类型 使用 typeof 检测对象类型并不是非常安全的行为: // 安全的 typeof undefined // 'undefined' typeof true // 'boolean' typeof 42 // 'number' typeof '42' // 'stri 阅读全文
posted @ 2019-06-27 15:51 欢笑还 阅读(153) 评论(0) 推荐(0) 编辑
摘要: this和对象原型 第一章 关于this 1.1 为什么要用this this 提供了一种更优雅的方式来隐式“传递”一个对象引用,因此可以将 API 设计 得更加简洁并且易于复用。显式传递上下文对象会让代码变得越来越混乱,使用 this 则不会这样。 1.2 误解 1.2.1 指向自身 除了函数对象 阅读全文
posted @ 2019-06-27 15:50 欢笑还 阅读(147) 评论(0) 推荐(0) 编辑
摘要: 你不知道的js——作用域 1 作用域 1.1编译原理 在传统编译语言的流程中,程序中的一段源代码在执行之前会经历三个步骤,统称为“编 译” 1分词/词法分析(Tokenizing/Lexing) 会将由字符组成的字符串分解成(对编程语言来说)有意义的代码块,这些代 码块被称为词法单元(token) 阅读全文
posted @ 2019-06-27 15:47 欢笑还 阅读(438) 评论(0) 推荐(0) 编辑