我不太确定如何用单词来陈述这个问题,因为我不知道该怎么称呼它 -> Obj['var] = something
。
我相信标题总结了它,以这两种不同的方式声明对象的变量或函数是否有任何区别,或者它们是否相同,做同一件事的不同方式。
编辑:
我的代码示例:
抱歉,变量名称令人困惑,请注意大写字符:/
buttons = document.getElementsByClassName('button');
Buttons = new Button_Objs();
for (i = 0 ; i < buttons.length ; i++){
button = buttons[i];
Buttons['button' + i] = new Button(button);
}
var Button = function(elem){
this.buttonType = elem.getAttribute('button-type');
if (this.buttonType = 'safety'){
constructSafetyButton(elem, this);
}
}
function constructSafetyButton(elem, button){
button['setState'] = function(state){//do something}
}
尝试使用时被浏览器大喊大叫button.prototype.setState = func...