如何从color
函数访问构造函数的setColor
属性?
function Obj() {
this.color = undefined;
}
Obj.prototype.setColor = () => {
for (var k = 0, hex = "0123456789ABCDEF", max = hex.length, random, color = ""; k < 6;
++k, random = Math.floor(Math.random() * max), color += hex[random]);
this.color = "#" + color; // Here i need to change
};
var ball = new Obj();
ball.setColor();
console.log(ball.color);
所以,我想运行setColor
函数并更改构造函数color
的{{1}}属性。
什么是最优雅和简单的方法,没有声明上下文的var并使用它?
答案 0 :(得分:1)
构造函数没有color
属性。
构造函数在构造它时将color
属性添加到实例。
您可以使用this.color
访问实例上的属性(在原型函数内)。
function Obj() {
this.color = "";
}
Obj.prototype.setColor = function() {
for (var k = 0, hex = "0123456789ABCDEF", max = hex.length, random, color = ""; k < 6;
++k, random = Math.floor(Math.random() * max), color += hex[random]);
this.color = "#" + color;
};
var instance = new Obj();
instance.setColor();
console.log(instance.color);
&#13;