我是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不会像其他语言一样自动将其放在前面,您必须手动进行。