我是javascript对象的新手,以下代码存在一些问题。

var Color = function(color){
   this.color = color;
   this.getCode = function(){
      var colorHex;
      var colorRBG;
      switch(color){
          case "White":
              colorHex = "#ffffff";
              colorRGB = "255,255,255";
              break;
          case "Black":
              colorHex = "#000000";
              colorRGB = "0,0,0";
              break;
          default:
              return false;
      }
      return {
          colorHex: colorHex,
          colorRGB: colorRGB
      }
   }
}


我想要做的是像这样获得colorHex值,但是它不起作用:

var newColor = new Color("White");
alert(newColor.getCode().colorHex);


我究竟做错了什么?

最佳答案

您需要在switch语句中使用this.color而不是颜色。颜色将在此处未定义,并且将调用默认情况。

颜色(参数)不再在范围内,因此您需要访问成员变量。 Javascript不会像其他语言一样自动将其放在前面,您必须手动进行。

10-07 22:03