![](/img/trans.png)
[英]Is there any clean and better way of replacing object value based on condition in javascript
[英]Clean Way to Build a JavaScript Object
我刚刚开始使用Javascript,我不确定我是否已声明对象类型声明正确。 有没有更好的方法和更可读的方式将变量声明为Javascript中的类,或者这是最简单的方法。
blueObject只是我读过的空对象。 这是在Javascript中创建简单对象类型的唯一方法,还是有更好更易读的方法?
码:
var blueObject={}; //Creates and object
var redObject={}; //Creates and object
blueObject.x=0;
blueObject.y=200;
blueObject.dx=2;
blueObject.width=48;
blueObject.height=48;
blueObject.image=new Image();
blueObject.image.src="blueplus.png";
context.drawImage(blueObject.image, 0, 0);
blueObject.blueImageData=context.getImageData(0, 0, blueObject.width,
blueObject.height);
context.clearRect(0,0,theCanvas.width, theCanvas.height);
redObject.x=348;
redObject.y=200;
redObject.dx=-2;
redObject.width=48;
redObject.height=48;
redObject.image=new Image();
redObject.image.src="redcircle.png";
对于您的目的,这可能是最干净的方式。
var blueObject = {
x: 0,
y: 200,
dx: 2,
width: 48,
height: 48,
image: new Image()
};
var redObject = {
x: 348,
y: 200,
dx: -2,
width: 48,
height: 48,
image: new Image();
};
blueObject.image.src = "blueplus.png";
redObject.image.src = "redCircle.png";
context.drawImage(blueObject.image, 0, 0);
blueObject.blueImageData = context.getImageData(0, 0, blueObject.width,
blueObject.height);
context.clearRect(0, 0, theCanvas.width, theCanvas.height);
另请参阅此答案以了解有关创建JavaScript对象的更正式方法。
您可以像这样创建一个Class Color:
ColorClass = function(aX, aY, ..., aSrc){
this.x = aX;
this.y = aY;
...
this.image = new Image();
this.image.src = aSrc;
}
然后你可以像这样实现你的两个对象:
var blueObject = new ColorClass(0, 200, 2, ..., "blueplus.png"),
redObject = new ColorClass(348, 200, ..., "redcircle.png");
我喜欢显示模块模式,允许您拥有私有范围。 你正在做的是合法的,但是你正在从外部修改对象,这通常是一种不好的做法。
var myClass = function(a, b){ // constructor
var a = a;
var b = b;
var c = a + b;
return { // public signature
c: c
}
}();
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.