我有两个构造函数,我只想在对象a
中使用对象b
方法而不使用new
关键字,因为我不希望在那里创建一个具有所有属性的对象没有必要。例如,在构造函数b
中我想使用构造函数b方法。
function a(){
this.first=function(){
return 'aaaaaa'
}
this.last=function (){
return 'bbbbb'
}
}
function b(){
this.name= //call method last of constructor a.
}
var person= new b();
console.log(person.name) //bbbbb
注意:构造函数a包含两个方法。因此,在给定的示例中,我首先没有使用任何方法,但稍后可能需要。所以我不想创建new a()
。我只想直接打电话
答案 0 :(得分:2)
function a(){
}
a.prototype.last=function(){
return 'bbbb'
}
function b(){
this.name= a.prototype.last()//call method last of constructor a.
}
var person= new b();
console.log(person.name) //bbbbb
答案 1 :(得分:1)
function a(){
this.first=function(){
return 'aaaaaa';
}
this.last= lastfunc;
}
function b(){
this.name= lastFunct()
}
var person= new b();
console.log(person.name) //bbbbb
function lastFunct() {
return 'bbbbb';
}
答案 2 :(得分:1)
有各种方法可以实现其功能。
var a={ first:function(){ return 'aaaaaa' }, last:function (){ return 'bbbbb' } } function b(){ this.name= a.last() }
var a=function(){ }; a.prototype.first=function(){ return 'aaaaaa' }; a.prototype.last=function (){ return 'bbbbb' } function b(){ this.name= a.prototype.last() }
最后这将与前一个相同。
第三个是调用a(),它将创建“第一个”& “最后”方法将对其上下文起作用。然后调用您的方法。 但不推荐这种方式。 对于前。
function a(){ this.first=function(){ return 'aaaaaa' } this.last=function (){ return 'bbbbb' } } a() function b(){ this.name= last()} var person= new b(); console.log(person.name) //bbbbb}}
答案 3 :(得分:0)
first
的实例之前, last
和a
不存在。如果那些只是静态方法,为什么不使用对象?
var a = {
first: function(){
return 'aaaaaa'
},
last: function (){
return 'bbbbb'
}
};