试图找出下面的代码是如何工作的以及它的作用......有人可以向我解释一下吗?
据我所知,[' handleEvent']只是立即执行并运行forEach循环一次......
我假设它与事件监听器有关,然后执行由字符串引用的方法?以下代码在constructor
方法范围内,并且未分配给变量或任何内容......
class plugin{
constructor(sidebar, options = {}){
this.options = plugin.extend(DEFAULTS, options);
// Bind event handlers for referencability.
['handleEvent'].forEach( (method) => {
this[method] = this[method].bind(this);
});
// Initialize sticky sidebar for first time.
this.initialize();
}
答案 0 :(得分:2)
['handleEvent'].forEach( (method) => {
this[method] = this[method].bind(this);
});
完全等同于
this['handleEvent'] = this['handleEvent'].bind(this);
据推测,作者用这种方式编写了它,以便将来更容易添加新字符串。如果阵列是“使用过一次就扔掉”,则不需要分配阵列。对象