我是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);
我做错了什么?
答案 0 :(得分:1)
您需要switch(this.color)
答案 1 :(得分:1)
您需要在switch语句中使用this.color
而不是颜色。此处颜色未定义,将调用默认情况。
Color(参数)不再在范围内,因此您需要访问成员变量。 Javascript不像其他语言那样自动添加前缀,你必须手动完成。