【发布时间】:2014-12-28 13:50:18
【问题描述】:
var events = {
addEvent: function(element, type, fn, capture){
element.addEventListener(type, fn, capture);
},
removeEvent: function(){
element.removeEventListener(type, fn, capture);
}
}
我在对象字面量定义中寻找类似的东西来减少代码 事件对象只是一个例子
var events = {
[action + "Event"]: function(element, type, fn, capture){
element[action + "eventListener"](type, fn, capture);
}
}
}
我知道还有其他选择,例如
element.events.add(....) , element.events.remove(....)
或者这个选项
element.events("add", type, fn, capture) / element.events("remove", type, fn, capture)
【问题讨论】:
-
这在 JavaScript 中是不可能的。在对象初始化器中,属性名称必须是常量。
-
哪种方法最好?
-
您可以使用单独的赋值语句和
[ ]运算符添加具有动态构造名称的属性。 -
你能给我一个例子或链接吗
-
我会用一个例子来添加答案。
标签: javascript object notation object-literal