版权声明:内容多为自言自语,请自行判断有无价值。 https://blog.csdn.net/weixin_41702247/article/details/82915826
对相关联:
Foo={
init:function(name){
this.name=name;
},
sayName:function(){
return 'I am '+this.name;
}
};
Bar=Object.create(Foo); //*
Bar.greet=function(){
return 'Hello, '+this.sayName()+'.';
}
var b1=Object.create(Bar);
b1.init('Tom'); //*
var b2=Object.create(Bar);
b2.init('Mary'); //*
b1.greet(); //"Hello, I am Tom."
b2.greet(); //"Hello, I am Mary."
面向对象:
function Foo(name){
this.me=name;
}
Foo.prototype.sayName=function(){
return 'I am '+this.me;
}
function Bar(name){
Foo.call(this,name); //*
}
Bar.prototype=Object.create(Foo.prototype);
Bar.prototype.greet=function(){
return 'Hello, '+this.sayName()+'.';
}
var b1=new Bar('tom'); //*
var b2=new Bar('mary'); //*
b1.greet(); //"Hello, I am tom."
b2.greet(); //"Hello, I am mary."
b1.sayName(); //"I am tom."