在 javascript 中定义对象时的对象括号表示法

Object bracket notation in definition of an Object in javascript

本文关键字:对象 表示 javascript 定义      更新时间:2023-09-26
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)

对象初始值设定项中的属性名称必须是常量。但是,您可以向对象添加属性并动态创建名称:

var events = {
            addEvent: function(element, type, fn, capture){
                 element.addEventListener(type, fn, capture);
            },
            removeEvent: function(){
                 element.removeEventListener(type, fn, capture);
            }
       };
events[action + "Event"] = function() { /* ... */ };