# 原型 ### 定义 * 每一个对象都有原型 * 原型仍然是一个对象 * 模拟实现面向对象的继承性 ### 原型链 * 对象的原型还有原型 * 对象除了可以使用自有属性还可以继承原型上的属性 ### 获取原型 * 对象.__proto__ * 构造函数.prototype ### 操作原型的属性 ...
分类:
编程语言 时间:
2017-08-22 17:33:15
阅读次数:
217
总体分为四大类:利用空对象作为中介继承、Object.create 继承、setPrototypeOf 继承、拷贝继承 一、利用空对象作为中介继承 F是空对象,所以几乎不占内存。这其实就是 YUI 实现继承的方法。 试一试 二、Object.create 继承 Object.create 会使用指定 ...
分类:
Web程序 时间:
2017-08-18 21:35:08
阅读次数:
250
//定义所有飞行物的父类型的构造函数 function Flyer(fname,fspeed){ this.fname=fname; this.fspeed=fspeed; } Flyer.prototype.fly=function(){ //fly放在Flyer.prototype consol ...
分类:
Web程序 时间:
2017-08-09 13:00:27
阅读次数:
157
原型链理解起来有点绕了,网上资料也是很多,每次晚上睡不着的时候总喜欢在网上找点原型链和闭包的文章看,效果极好。 不要纠结于那一堆术语了,那除了让你脑筋拧成麻花,真的不能帮你什么。简单粗暴点看原型链吧,想点与代码无关的事,比如人、妖以及人妖。 1)人是人他妈生的,妖是妖他妈生的。人和妖都是对象实例,而 ...
分类:
Web程序 时间:
2017-08-03 11:19:37
阅读次数:
210
<script> //通过原型继承一个对象 //inherit()返回了一个继承原自原型对象P的属性的新对象 //這裡使用ECMAScript5中的object.create()函數(如果存在的話) //如果不存在object.create().则退化使用其他方法 function inherit( ...
分类:
编程语言 时间:
2017-08-03 11:12:54
阅读次数:
205
强大的原型和原型链 前言 JavaScript 不包含传统的类继承模型,而是使用 prototypal 原型模型。 虽然这经常被当作是 JavaScript 的缺点被提及,其实基于原型的继承模型比传统的类继承还要强大。实现传统的类继承模型是很简单,但是实现 JavaScript 中的原型继承则要困难 ...
分类:
编程语言 时间:
2017-08-01 19:10:56
阅读次数:
195
强大的原型和原型链 前言 JavaScript 不包含传统的类继承模型,而是使用 prototypal 原型模型。 虽然这经常被当作是 JavaScript 的缺点被提及,其实基于原型的继承模型比传统的类继承还要强大。实现传统的类继承模型是很简单,但是实现 JavaScript 中的原型继承则要困难 ...
分类:
编程语言 时间:
2017-07-31 10:11:20
阅读次数:
215
我们怎么区别一个属性是基本的属性还是从原型继承的呢?就要用到hasOwnProperty hasOwnProperty是从Object.prototype中来的 ...
分类:
其他好文 时间:
2017-07-24 00:05:52
阅读次数:
220
实现原理:定义一个封装函数extend;该函数有2个参数,Child代表子类,Parent代表父类;在函数内,先定义一个空函数F, 用来实现功能中转,设置F的原型为父类的原型,然后把空函数的实例传递给子类的原型,使用空函数的好处:避免直接实例化父类可能会带来系统性能问题,比如父类的实例很大的话,实例 ...
分类:
Web程序 时间:
2017-07-19 23:19:59
阅读次数:
223
今天学习了一下js的继承,js中的继承主要分四种,原型继承,构造函数继承,call/apply继承以及es6的extend继承。1.原型继承:原型继承主要利用js对象的prototype引用父类的构造函数来复制父类的方法。 2.构造函数继承子类中调用父类的构造函数,完成继承。 3.call/appl ...
分类:
Web程序 时间:
2017-07-19 15:29:42
阅读次数:
155