我刚刚浏览了 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 。
谢谢。