《JavaScript应用程序设计》一一3.3 原型

简介:

本节书摘来华章计算机出版社《JavaScript应用程序设计》一书中的第3章,第3.3节,作者:Eric Elliott 更多章节内容可以访问云栖社区“华章计算机”公众号查看。

3.3 原型

原型让你能够对现有对象克隆,从而构建出一个拥有其范性方法的代理对象。
工厂函数
在JavaScript中,有许多灵活且简单的构造函数,所有JavaScript中的函数均可以返回对象,所以你无需再使用构造函数去构建对象。相较于构造函数,工厂函数不仅为调用者封装了对象实例化的细节,而且省略了多余的new关键字。在工厂函数中,可以组合使用JavaScript的所有语言特性,甚至能够在程序运行期间,动态修改对象的构建逻辑(而且丝毫不影响正在实例化的对象)。
流式API(不要与流式JavaScript搞混淆)
流式API是一组能够让代码执行看起来更像自然语言的接口协议,实现了流式API的方法大都可以被链式调用,但并不是所有可以被链式调用的方法都可以视为流式API。流式API的接口协议规定,对象中的每一项方法均可以返回一个对象,而这个对象中包含了下一步执行所需要的方法组。通过这种方式,方法可以以短句的形式衔接在一起,每个方法都在前一项方法的执行结果上被调用。jQuery与Jasmine均是流式API应用的例子。
随着Prototype、jQuery等类库的兴起,流式JavaScript的概念在社区中得到普及,但是“流式”风格并不是由某个人或某个组织所开创,也不是什么新的独一无二的技术,它只是由JavaScript语言自身的核心特性自然发展演化而来。就其本身来说,既不是一门新的语言风格,也不是一项从其他语言中借鉴来的编程习惯。
甚至“流式”这一命名都显得有些愚蠢,其实它并不是为了与市面上多数JavaScript教程中笨重的代码模式区分开。严格来说,“流式”不是一种新的编程风格,它只是那些资深JavaScript程序员平日里所用到的编程最佳实践。
随着时间的推移,我们可以看到“流式”正成为推动JavaScript语言向前演进的一股力量。它可能会给JavaScript带来新的语言特性,甚至是执行效率的提升。
原型
原型是一种特别的对象,它为指定对象建模并作为其原始模型。它的作用与类极为类似,因为通过原型你可以构建出任意数量的对象实例,不同之处在于它也仅仅是对象。在JavaScript中,原型有两种使用方式:原型代理与原型克隆。

相关文章
|
JavaScript Java Serverless
函数计算产品使用问题之如何使用Node.js编写程序
函数计算产品作为一种事件驱动的全托管计算服务,让用户能够专注于业务逻辑的编写,而无需关心底层服务器的管理与运维。你可以有效地利用函数计算产品来支撑各类应用场景,从简单的数据处理到复杂的业务逻辑,实现快速、高效、低成本的云上部署与运维。以下是一些关于使用函数计算产品的合集和要点,帮助你更好地理解和应用这一服务。
|
JavaScript 前端开发
如何在JavaScript中实现基于原型的继承机制
【8月更文挑战第14天】如何在JavaScript中实现基于原型的继承机制
178 0
|
JavaScript 前端开发
JavaScript中的原型 保姆级文章一文搞懂
本文详细解析了JavaScript中的原型概念,从构造函数、原型对象、`__proto__`属性、`constructor`属性到原型链,层层递进地解释了JavaScript如何通过原型实现继承机制。适合初学者深入理解JS面向对象编程的核心原理。
357 1
JavaScript中的原型 保姆级文章一文搞懂
|
JavaScript 前端开发
利用事件循环提高 JavaScript 程序的性能
本文介绍了事件循环在JavaScript中的工作原理,以及如何通过合理利用事件循环来优化程序性能,包括异步操作、任务优先级和避免阻塞等技巧。
|
JavaScript 前端开发
如何使用Vue.js构建响应式Web应用程序
【10月更文挑战第9天】如何使用Vue.js构建响应式Web应用程序
|
JSON JavaScript 前端开发
js原型继承|26
js原型继承|26
|
设计模式 JavaScript 前端开发
【JavaScript】深入浅出JavaScript继承机制:解密原型、原型链与面向对象实战攻略
JavaScript的继承机制基于原型链,它定义了对象属性和方法的查找规则。每个对象都有一个原型,通过原型链,对象能访问到构造函数原型上的方法。例如`Animal.prototype`上的`speak`方法可被`Animal`实例访问。原型链的尽头是`Object.prototype`,其`[[Prototype]]`为`null`。继承方式包括原型链继承(通过`Object.create`)、构造函数继承(使用`call`或`apply`)和组合继承(结合两者)。ES6的`class`语法是语法糖,但底层仍基于原型。继承选择应根据需求,理解原型链原理对JavaScript面向对象编程至关重要
517 7
【JavaScript】深入浅出JavaScript继承机制:解密原型、原型链与面向对象实战攻略
|
JavaScript 前端开发
JavaScript基础知识-原型(prototype)
关于JavaScript基础知识中原型(prototype)概念的介绍。
269 1
|
JavaScript 前端开发 Java
什么是JavaScript原型对象
【8月更文挑战第2天】什么是JavaScript原型对象
251 9
|
JavaScript 前端开发
JavaScript中什么是原型?有什么用?
JavaScript中什么是原型?有什么用?
208 1

热门文章

最新文章