javascript - 数组未分配给变量?它是如何工作的以及它到底在做什么?

标签 javascript

试图弄清楚下面的代码是如何工作的以及它的作用......有人可以向我解释一下吗?

据我所知,['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();
      }

最佳答案

['handleEvent'].forEach( (method) => {
      this[method] = this[method].bind(this);
});

完全等同于

this['handleEvent'] = this['handleEvent'].bind(this);

想必作者这样写是为了方便以后添加新的字符串。如果数组是“用一次就扔掉”的对象,则不需要分配该数组。

关于javascript - 数组未分配给变量?它是如何工作的以及它到底在做什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46849375/

相关文章:

javascript - PhantomJS 无法访问已删除 QObject 的成员 'evaluate'

javascript - 应用 appendTo 将排序节点添加到应用模板

javascript - UI 网格检查是否选择了任何行?

javascript - Express Router GET 请求 console.log 显示未定义的请求参数

javascript - 我的 toggleclass 有问题

javascript - 拆分一个值的字符串数组失败

javascript - .bowerrc 中的 Bower 多个注册表 URL

javascript - 使用函数触发 chrome.browserAction.onClicked

javascript - WebRTC SDP blob 是否可在对等点之间重用?

javascript - 将按钮激活的图像滚动器制作成自动滚动器