了解函数调用对象文字选项
Understanding function calling to object literal option
我刚刚浏览了 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.
谢谢。
如果 data
对象具有名称为 options.action
的 属性,这应该是函数然后执行它。
我刚刚浏览了 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.
谢谢。
如果 data
对象具有名称为 options.action
的 属性,这应该是函数然后执行它。