理解函数调用对象文字选项

时间:2015-12-19 21:30:29

标签: javascript jquery jquery-plugins

我刚刚浏览了 hierarchical-display.js 插件的源代码,并遇到了以下代码行:

// PLUGIN DEFINITION
// =======================
function Plugin(settings) {
    return this.each(function () {
        var $this = $(this);
        var data = $this.data('zmd.hierarchicalDisplay');
        var options = $.extend({}, HDisplay.DEFAULTS, $this.data(), typeof settings === 'object' && settings);

        if (!data) {$this.data('zmd.hierarchicalDisplay', (data = new HDisplay(this, options)));}
        if (typeof settings === 'string') {return data[settings]();}
        if (options.action in data) {return data[options.action]();}
    });
}

相当标准的插件定义,但实际上是下面的代码行

if (options.action in data) {return data[options.action]();}
做什么?有人可以解释一下吗?我的意思是我理解它正在做什么,但我只是在努力为这一行代码找到一个用例,有人可以解释什么以及何时这样的代码行发挥作用?

可以找到代码行 HERE

谢谢。

0 个答案:

没有答案