如何在我的对象中访问这个函数?
我有一个函数对象:
var myObj=function(){
};
myObj.prototype = {
availableColor: function(i){
return "red_"+i;
}
getColor: function(){
var c = availableColor('3'); //Error: availableColor is not a function
...
}
}
当我在 getColor()
函数中调用 availableColor(i)
时,出现错误 availableColor 不是函数。 ...
使用 var c = this.availableColor('3');
和
我还尝试在构造函数中 var self=this
,然后 var c = self.availableColor('3');
但是,这些都没有帮助。原因是什么?
I have a function object:
var myObj=function(){
};
myObj.prototype = {
availableColor: function(i){
return "red_"+i;
}
getColor: function(){
var c = availableColor('3'); //Error: availableColor is not a function
...
}
}
When I call availableColor(i)
inside getColor()
function, I got error availableColor is not a function....
I also tried to use var c = this.availableColor('3');
and
var self=this
in the constructor, then var c = self.availableColor('3');
But, none of these help. what is the reason?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
编辑
另一种方法:
EDIT
Another approach:
如果您只想向 myObj 添加方法,只需执行以下操作:
使用
prototype
的方式将使myObj
成为构造函数:var o = new myObj().
myObj
不会有这些方法。If you just want to add methods to myObj, just do:
The way you use
prototype
will makemyObj
an constructor:var o = new myObj()
.myObj
won't have those methods.