开发者社区> 华章计算机> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

《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中,原型有两种使用方式:原型代理与原型克隆。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
js基于原型和class的面向对象-继承
js基于原型和class的面向对象-继承
0 0
重温js——原型和原型链
我们在前文说到,所有的对象都是通过new 函数来创建的,所有的函数也都是对象 . 那么问题来了,Function也是一个函数,那么他是怎么来的呢?(这个问题是不是类似有点像先有鸡和先有蛋的感觉)但是Function函数是在js引擎启动的时候,就直接把Function放入到内存中的.
0 0
【JavaScript】面向对象——原型与原型链(详解)
【JavaScript】面向对象——原型与原型链(详解)
0 0
JavaScript 面向对象之原型
JavaScript 面向对象之原型
0 0
前端开发:JS中原型和原型链详解
在前端开发过程中,涉及到JS原理相关的内容也就是常用的几大模块,不仅常用而且很重要,但是涉及到原理的话会有点难懂,尤其是对JS接触不太久的开发者来讲。本篇博文就来分享一下关于JS的原型和原型链相关的知识点,虽然复杂、难懂但是很重要,值得收藏,方便后期查阅使用。
0 0
浅谈一下js中的原型
JavaScript中原型 什么是原型 众所周知,JavaScript是一门面向对象的编程语言,但是JavaScript中并没有类的概念,那么JavaScript是如何实现面向对象的呢?这就要从原型说起。 首先我们要知道:原型存在于对象中。
0 0
🍉学习JS不得不知的原型原型链、闭包和异步!
🍉学习JS不得不知的原型原型链、闭包和异步!
0 0
🍉JavaScript进阶——构造函数和原型
🍉JavaScript进阶——构造函数和原型
0 0
JS面向对象之原型
如上code中,创建了p1、p2对象,比较p1中的showName函数和p2中的showName函数,结果为false; 虽然两个对象中的函数的形式、实现的功能都是一样的,但由于p1、p2是对象的引用,分别指向的是不同的两块内存区域,所以比较的结果为false; 假设有1000个对象,就要在内存中开辟1000个内存区域,并且每个对象中都有showName函数,这就极大的浪费了内存空间,怎么办呢?我们想最好把这个showName函数给提出去,作为一个公共函数,这时原型就横空出世了,就是为了解决上述问题。 原型用来提取对象下面公用的方法或者属性,让公用的方法、属性在内存中只存在一份,以提高性能。
0 0
Javascript面向对象——创建对象、构造函数的原型
Javascript面向对象——创建对象、构造函数的原型
0 0
文章
问答
来源圈子
更多
+ 订阅
文章排行榜
最热
最新
相关电子书
更多
Javascript中的函数
立即下载
Javascript异步编程
立即下载
JS零基础入门教程(上册)
立即下载