上一页 1 ··· 43 44 45 46 47 48 49 50 51 ··· 118 下一页
摘要: 概述 历史上,JavaScript 一直没有模块(module)体系,无法将一个大程序拆分成互相依赖的小文件,再用简单的方法拼装起来。其他语言都有这项功能,比如 Ruby 的require、Python 的import,甚至就连 CSS 都有@import,但是 JavaScript 任何这方面的支 阅读全文
posted @ 2018-09-22 12:29 NAVYSUMMER 阅读(199) 评论(0) 推荐(0)
摘要: 类的修饰 许多面向对象的语言都有修饰器(Decorator)函数,用来修改类的行为。目前,有一个提案将这项功能,引入了 ECMAScript。 上面代码中,@testable就是一个修饰器。它修改了MyTestableClass这个类的行为,为它加上了静态属性isTestable。testable函 阅读全文
posted @ 2018-09-22 12:27 NAVYSUMMER 阅读(853) 评论(0) 推荐(0)
摘要: 简介 Class 可以通过extends关键字实现继承,这比 ES5 的通过修改原型链实现继承,要清晰和方便很多。 上面代码定义了一个ColorPoint类,该类通过extends关键字,继承了Point类的所有属性和方法。但是由于没有部署任何代码,所以这两个类完全一样,等于复制了一个Point类。 阅读全文
posted @ 2018-09-22 12:25 NAVYSUMMER 阅读(307) 评论(0) 推荐(0)
摘要: 简介 JavaScript 语言中,生成实例对象的传统方法是通过构造函数。下面是一个例子。 上面这种写法跟传统的面向对象语言(比如 C++ 和 Java)差异很大,很容易让新学习这门语言的程序员感到困惑。 ES6 提供了更接近传统语言的写法,引入了 Class(类)这个概念,作为对象的模板。通过cl 阅读全文
posted @ 2018-09-22 12:23 NAVYSUMMER 阅读(285) 评论(0) 推荐(0)
摘要: 含义 ES2017 标准引入了 async 函数,使得异步操作变得更加方便。 async 函数是什么?一句话,它就是 Generator 函数的语法糖。 前文有一个 Generator 函数,依次读取两个文件。 写成async函数,就是下面这样。 一比较就会发现,async函数就是将 Generat 阅读全文
posted @ 2018-09-22 12:21 NAVYSUMMER 阅读(350) 评论(0) 推荐(0)
摘要: 异步编程对 JavaScript 语言太重要。Javascript 语言的执行环境是“单线程”的,如果没有异步编程,根本没法用,非卡死不可。本章主要介绍 Generator 函数如何完成异步操作。 传统方法 ES6 诞生以前,异步编程的方法,大概有下面四种。 回调函数 事件监听 发布/订阅 Prom 阅读全文
posted @ 2018-09-20 17:42 NAVYSUMMER 阅读(231) 评论(0) 推荐(0)
摘要: 简介 § ⇧ 基本概念 Generator 函数是 ES6 提供的一种异步编程解决方案,语法行为与传统函数完全不同。本章详细介绍 Generator 函数的语法和 API,它的异步编程应用请看《Generator 函数的异步应用》一章。 Generator 函数有多种理解角度。语法上,首先可以把它理 阅读全文
posted @ 2018-09-20 17:40 NAVYSUMMER 阅读(361) 评论(0) 推荐(0)
摘要: Iterator(遍历器)的概念 § ⇧ JavaScript 原有的表示“集合”的数据结构,主要是数组(Array)和对象(Object),ES6 又添加了Map和Set。这样就有了四种数据集合,用户还可以组合使用它们,定义自己的数据结构,比如数组的成员是Map,Map的成员是对象。这样就需要一种 阅读全文
posted @ 2018-09-20 17:37 NAVYSUMMER 阅读(165) 评论(0) 推荐(0)
摘要: Promise 的含义 Promise 是异步编程的一种解决方案,比传统的解决方案——回调函数和事件——更合理和更强大。它由社区最早提出和实现,ES6 将其写进了语言标准,统一了用法,原生提供了Promise对象。 所谓Promise,简单说就是一个容器,里面保存着某个未来才会结束的事件(通常是一个 阅读全文
posted @ 2018-09-20 17:22 NAVYSUMMER 阅读(177) 评论(0) 推荐(0)
摘要: 概述 Reflect对象与Proxy对象一样,也是 ES6 为了操作对象而提供的新 API。Reflect对象的设计目的有这样几个。 (1) 将Object对象的一些明显属于语言内部的方法(比如Object.defineProperty),放到Reflect对象上。现阶段,某些方法同时在Object 阅读全文
posted @ 2018-09-20 17:09 NAVYSUMMER 阅读(143) 评论(0) 推荐(0)
上一页 1 ··· 43 44 45 46 47 48 49 50 51 ··· 118 下一页
交流群 编程书籍