在anthor对象中使用Object方法,而不在javascript中使用new关键字
我有两个构造函数,我只想在object在anthor对象中使用Object方法,而不在javascript中使用new关键字,javascript,Javascript,我有两个构造函数,我只想在objectb中使用objecta方法,而不使用new关键字,因为我不想在不需要时创建一个具有所有属性的对象。例如,在构造函数b中,我想使用构造函数b方法 function a(){ this.first=function(){ return 'aaaaaa' } this.last=function (){ return 'bbbbb' } } function b(){ this.name= //call method last
b
中使用objecta
方法,而不使用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包含两个方法。所以在给定的示例中,我并没有先使用任何方法,但以后可能需要。所以我不想创建
新的a()
。我只想直接调用它first
和last
直到您创建的一个实例
。如果这些只是静态方法,为什么不使用对象呢
var a = {
first: function(){
return 'aaaaaa'
},
last: function (){
return 'bbbbb'
}
};
first
和last
在创建a
的实例之前不存在。如果这些只是静态方法,为什么不使用对象呢
var a = {
first: function(){
return 'aaaaaa'
},
last: function (){
return 'bbbbb'
}
};
有多种方法可以实现其功能
有多种方法可以实现其功能
你不能那样做。把方法移到原型上,你不能这样做。将方法移到原型中。我知道您正在尽可能接近地复制OP answer,但最好将这些函数添加到构造函数原型中。e、 g.b.prototype.name=function…,a.prototype.last=lastfunc,a.prototype.first=function…@Patrick我同意,但我会保持原样,因为这个解决方案还有另一个答案。它仍然有效。我在另一个答案之前提供了评论:)我知道您正在尽可能接近地复制OP-answer,但最好将这些函数添加到构造函数原型中。e、 g.b.prototype.name=function…,a.prototype.last=lastfunc,a.prototype.first=function…@Patrick我同意,但我会保持原样,因为这个解决方案还有另一个答案。它仍然有效。我在另一个回答之前发表了评论:)你的工作很好。为了了解直接在构造函数中指定方法和使用prototypeWell添加方法之间的区别,这里有一个很好的详细答案:您的工作正常。为了了解直接在构造函数中指定方法和使用prototypeWell添加方法之间的区别,这里有一个很好的详细答案:您的第一个示例不起作用。当我移除这个。那么它工作得很好。我只想知道你说的“调用a()并直接调用其方法(不使用a())”的第三点,你能举个例子吗that@amit,我对答案进行了更改,请参考。抱歉,命名空间中不需要此选项。对不起,我的打字错误。你的第一个例子不起作用。当我移除这个。那么它工作得很好。我只想知道你说的“调用a()并直接调用其方法(不使用a())”的第三点,你能举个例子吗that@amit,我对答案进行了更改,请参考。抱歉,命名空间中不需要此选项。对不起,我的打字错误
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
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()
}
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}}