首先,这是我的代码:
var rettangolo = {
rectX_top: 0,
recX_bottom: 0,
rectY_top: 0,
rectY_top: 0,
colpito: false,
colore: 'hsl(' + 360 * Math.random() + ', 50%, 50%)',
rettangolo: function() {
this.setRectX_top(0);
this.setRectX_bottom(0);
this.setRectY_top(0);
this.setRectY_top(0);
this.setColpito(false);
this.setColore('red');
},
setColpito: function(colpito) {
this.colpito = colpito;
},
setColore: function(colore) {
this.colore = colore;
},
setRectY_top: function(top) {
rectY_top = top;
},
setRectX_top: function(top) {
rectX_top = top;
},
setRectX_bottom: function(bottom) {
rectX_bottom = bottom;
},
setRectY_bottom: function(bottom) {
rectY_bottom = bottom;
},
<!-- GET METHODS -->
getColore: function() {
return this.colore;
},
getRectY_top: function() {
return this.rectY_top;
},
getColpito: function() {
return this.colpito;
},
getRectX_top: function() {
return this.rectX_top;
},
getRectX_bottom: function() {
return this.rectX_bottom;
},
getRectY_bottom: function() {
return this.rectY_bottom;
},
}
这是我的课,现在我需要创建这个类的多个实例。 可能吗?如果是的话,你是如何实现它的? (另外,这是正确的吗?请注意,这是我创建的第一堂课,因为他们从未在学校解释过)。 谢谢!
答案 0 :(得分:1)
您需要制作构造函数或工厂函数。
阅读此https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Working_with_Objects
Constructor function vs Factory functions
有许多方法可以实现这一点,这就是其中之一。显然你可以扩展它以适合你的情况。
var object = function(options) {
var object = {
id: options.id,
property: 'value'
};
return object;
};
var a = object({id:1});
var b = object({id:2});
console.log(a);
console.log(b);
这说明你可以从同一个构造函数创建两个对象,因为两个对象在属性属性中具有相同的值,而另一个id依赖于传递的id选项。
此外行注释:
<!-- GET METHODS -->
将抛出错误,在Javascript中使用//
或/* */
进行评论。
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Lexical_grammar