《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
深入JS面向对象(原型-继承)(一)
深入JS面向对象(原型-继承)
31 0
|
1月前
|
JavaScript 前端开发
js开发:请解释原型继承和类继承的区别。
JavaScript中的原型继承和类继承用于共享对象属性和方法。原型继承利用原型链查找属性,节省内存但不支持私有成员。类继承通过ES6的class和extends实现,支持私有成员但占用更多内存。两者各有优势,适用于不同场景。
19 0
|
3月前
|
JavaScript 前端开发 数据库连接
js的异常程序处理机制
js的异常程序处理机制
18 0
|
3月前
|
存储 JavaScript 前端开发
构造函数和原型的结合应用:轻松搞定JS的面向对象编程(三)
构造函数和原型的结合应用:轻松搞定JS的面向对象编程
|
3月前
|
设计模式 JavaScript 前端开发
构造函数和原型的结合应用:轻松搞定JS的面向对象编程(一)
构造函数和原型的结合应用:轻松搞定JS的面向对象编程
|
3月前
|
存储 JavaScript API
Nuxt.js:用 Vue.js 打造服务端渲染应用程序(三)
Nuxt.js:用 Vue.js 打造服务端渲染应用程序
|
3月前
|
JavaScript 中间件 网络架构
Nuxt.js:用 Vue.js 打造服务端渲染应用程序(一)
Nuxt.js:用 Vue.js 打造服务端渲染应用程序
|
3月前
|
JavaScript 前端开发
如何用JS实现基础的抽奖程序
如何用JS实现基础的抽奖程序
19 0
|
3月前
|
前端开发 JavaScript
JavaScript中的原型和原型链
JavaScript中的原型和原型链
|
3月前
|
存储 JavaScript 前端开发
构造函数和原型的结合应用:轻松搞定JS的面向对象编程(二)
构造函数和原型的结合应用:轻松搞定JS的面向对象编程