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)
inside
getColor()
函数时,我发现错误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作为构造函数时,我想解决这个问题。