首页 > 代码库 > prototype的本质

prototype的本质

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的本质