Javascript 如何在我的对象中访问此函数?
我有一个函数对象:Javascript 如何在我的对象中访问此函数?,javascript,javascript-framework,Javascript,Javascript Framework,我有一个函数对象: var myObj=function(){ }; myObj.prototype = { availableColor: function(i){ return "red_"+i; } getColor: function(){ var c = availableColor('3'); //Error: availableColor is not a function ... } } 当我调用availableColor
var myObj=function(){
};
myObj.prototype = {
availableColor: function(i){
return "red_"+i;
}
getColor: function(){
var c = availableColor('3'); //Error: availableColor is not a function
...
}
}
当我调用availableColor(I)
insidegetColor()
函数时,我发现错误availableColor不是一个函数
我还尝试使用var c=this.availableColor('3')代码>
及
var self=this
在构造函数中,然后var c=self.availableColor('3')代码>
但是,这些都没有帮助。原因是什么
var myObj={
availableColor: function(i){
return "red_"+i;
},
getColor: function(){
var c = this.availableColor('3');
}
}
编辑
另一种方法:
var myObj=function(){
};
myObj.prototype.availableColor = function(i){
return "red_"+i;
};
myObj.prototype.getColor = function(){
var c = this.availableColor('3');
return c;
};
b = new myObj();
document.write(b.getColor());
编辑
另一种方法:
var myObj=function(){
};
myObj.prototype.availableColor = function(i){
return "red_"+i;
};
myObj.prototype.getColor = function(){
var c = this.availableColor('3');
return c;
};
b = new myObj();
document.write(b.getColor());
如果您只想向myObj添加方法,只需执行以下操作:
myObj.availableColor = function(i){
return "red_"+i;
}
myObj.getColor = function(){
var c = this.availableColor('3');
}
您使用prototype
的方式将使myObj
成为一个构造函数:var o=new myObj()
myObj
不会有这些方法。如果您只想向myObj添加方法,只需执行以下操作:
myObj.availableColor = function(i){
return "red_"+i;
}
myObj.getColor = function(){
var c = this.availableColor('3');
}
您使用prototype
的方式将使myObj
成为一个构造函数:var o=new myObj()
myObj
不会有这些方法。如果我坚持使用函数而不是对象,有什么解决办法吗?@Mellon看起来你忘了在第一个方法定义后加逗号。如果我坚持使用函数而不是对象,有什么解决办法吗?@Mellon看起来你忘了在第一个方法定义后加逗号。嗨,问题是我想让myObj成为一个构造函数。当我使用myObj作为构造函数时,我想解决这个问题。嗨,问题是我想让myObj成为构造函数。当我使用myObj作为构造函数时,我想解决这个问题。