【发布时间】:2018-12-17 22:02:45
【问题描述】:
所以我有一个对象构造函数,但是当我尝试放入一个对象时,数组cmndlist 总是定义了最后一个对象的 x 数量。 (基本上它们都以相同的方式结束)
function command(name, category, help, callback) {
this.name = name;
this.help = help;
this.use = callback;
cmndlist[category].push(this);
};
这也是我定义对象的代码。
command("foo",0,"foo", function(message){
//code
});
command("bar",1,"bar", function (message){
//code
});
command("foobar",1,"foobar", function (message){
//code
});
所以在本例中,数组中的所有对象都将具有与foobar 相同的属性。
我不希望这样,我希望它拥有所有三个对象。
【问题讨论】:
-
如果你想知道,第一个片段也出现在stackoverflow.com/questions/53808062/…
-
什么是
cmndlist& 为什么没有new? -
使用新的关键字。
-
@MarkMeyer 这是一个对象所在的数组。
-
如果不使用
new,this是window对象,而不是原型的实例。
标签: javascript object constructor