码迷,mamicode.com
首页 > 其他好文 > 详细

prototype的本质

时间:2016-09-17 16:23:39      阅读:137      评论:0      收藏:0      [点我收藏+]

标签:

prototype的本质

原型的本质就是一种委托关系。
即我这里没有,就到我的原型里去看看,一旦找到就当成我的用。

var girl = {
name: ‘小美‘
};
var boy = {
name: ‘小帅‘,
pay: function() {
console.log(‘花了一千元‘);
}
};
Object.setPrototypeOf(girl, boy);
girl.pay();

 

程序中指明了girl的原型是boy,girl没pay方法,但是boy有,所以boy花钱了。
从这个例子来看那么,原型是一种委托关系,如果说是一种继承关系就不是那么贴切。
因为这段代码更等价于如下的代码:

var girl = {
name: ‘小美‘,
pay: function() {
boy.pay();
}
};
var boy = {
name: ‘小帅‘,
pay: function() {
console.log(‘花了一千元‘);
}
};
girl.pay();

程序中指明了girl的原型是boy,girl没pay方法(腾云科技ty300.com),但是boy有,所以boy花钱了。
从这个例子来看那么,原型是一种委托关系,如果说是一种继承关系就不是那么贴切。
因为这段代码更等价于如下的代码:

var girl = {
name: ‘小美‘,
pay: function() {
boy.pay();
}
};
var boy = {
name: ‘小帅‘,
pay: function() {
console.log(‘花了一千元‘);
}
};
girl.pay();

稿源:勤快学QKXue.NET

阅读完整版prototype的本质

prototype的本质

标签:

原文地址:http://www.cnblogs.com/qkxue/p/5878896.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!