3

我正在研究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

问题在哪里?

4

1 回答 1

2

好吧,让我印象深刻的一件事是您拥有的第一个示例是TinyMCE 期望其函数参数extend方法。

查看 的来源extend,它会检查每个键值对的undefined,如果它们已定义,则仅将它们添加到对象中。因此,在扩展类时,有一些附加功能很有用。

于 2011-05-25T05:38:07.657 回答