首先,这是我的代码:
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;
},
}
这是我的类,现在我需要创建该类的多个实例。 是否可以?如果是的话,你如何实现它? (另外,这是正确的吗?请注意,这是我创建的第一个类(class),因为他们从未在学校解释过)。 谢谢!
最佳答案
您需要创建一个构造函数或工厂函数。
阅读此内容 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);
这说明您可以从同一个构造函数创建两个对象,显然这两个对象在 property 属性中具有相同的值,并且根据传递的 id 选项具有不同的 id。
另外行注释:
<!-- GET METHODS -->
会抛出错误,在 Javascript 中使用 //
或 /* */
进行注释。
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Lexical_grammar
关于Javascript 创建对象的二维数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34054221/