在JavaScript中公开方法.为什么是这种语法



我在研究TinyMCE代码时偶然发现了这种公开公共方法的方法:

tinymce.extend(this, {
    execCommand : execCommand,
    queryCommandState : queryCommandState,
    queryCommandValue : queryCommandValue,
    addCommands : addCommands
});

如果可以使用下面的代码(代码行更少,同一任务所需的执行时间更少!),那么写上面的代码有什么好处

this.execCommand = execCommand;
this.queryCommandState = queryCommandState;
this.queryCommandValue = queryCommandValue;
this.addCommands = addCommands;

或者更短,在对象声明中的某个位置:

execCommand: execCommand,
queryCommandState: queryCommandState,
queryCommandValue: queryCommandValue,
addCommands: addCommands

捕获物在哪里?

好吧,我想到的一件事是,TinyMCE期望其extend函数的参数所在的方法。

查看extend的源,它检查每个键值对的undefined,只有在定义了它们的情况下才将它们添加到对象中。因此,在扩展类时,添加了一些有用的功能。

相关内容

  • 没有找到相关文章

最新更新