我正在使用一个包含以下代码段的 jQuery 插件:
$(el).siblings( panelSelector )[(effect || activationEffect)](((effect == "show")?activationEffectSpeed:false),function(){ .. some stuff .. });
我真正关心的并不是它在插件上下文中的作用,而是更多的是它是如何工作的。
我知道我们首先选择点击元素的兄弟,然后我相信我们正在检查两者中的哪一个,
effect
或 activationEffect
有一个值,我开始在那里迷路。看起来该函数是一个回调,但如果是,我不明白包含回调的内容。 最佳答案
要理解代码,您需要知道的主要事情是 foo.bar
和 foo['bar']
是相等的。
让我们将其拆分以使其更加清晰:
var sibs = $(el).siblings(panelSelector);
sibs[(effect || activationEffect)](...);
第二行调用
effect
上存储在 activationEffect
或 sibs
(第一个 true ish 值获胜)中的任何方法名称。((effect == "show")?activationEffectSpeed:false)
是该调用的第一个参数,function(){ ... }
是第二个参数。关于javascript - 这个 JavaScript 语法是如何工作的?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11015125/