如何在我的对象中访问这个函数?

发布于 2024-11-02 04:48:23 字数 585 浏览 4 评论 0原文

我有一个函数对象:

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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

王权女流氓 2024-11-09 04:48:24
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={
  availableColor: function(i){

      return "red_"+i;

  },
  getColor: function(){
    var c = this.availableColor('3');
  }
}

EDIT

Another approach:

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());
我不会写诗 2024-11-09 04:48:24

如果您只想向 myObj 添加方法,只需执行以下操作:

myObj.availableColor = function(i){
  return "red_"+i;
}

myObj.getColor = function(){
   var c = this.availableColor('3');
}

使用 prototype 的方式将使 myObj 成为构造函数:var o = new myObj(). myObj 不会有这些方法。

If you just want to add methods to myObj, just do:

myObj.availableColor = function(i){
  return "red_"+i;
}

myObj.getColor = function(){
   var c = this.availableColor('3');
}

The way you use prototype will make myObj an constructor: var o = new myObj(). myObj won't have those methods.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文