我正在使用一个包含以下代码段的 jQuery 插件:

$(el).siblings( panelSelector )[(effect || activationEffect)](((effect == "show")?activationEffectSpeed:false),function(){ .. some stuff .. });

我真正关心的并不是它在插件上下文中的作用,而是更多的是它是如何工作的。

我知道我们首先选择点击元素的兄弟,然后我相信我们正在检查两者中的哪一个,effectactivationEffect 有一个值,我开始在那里迷路。看起来该函数是一个回调,但如果是,我不明白包含回调的内容。

最佳答案

要理解代码,您需要知道的主要事情是 foo.barfoo['bar'] 是相等的。

让我们将其拆分以使其更加清晰:

var sibs = $(el).siblings(panelSelector);
sibs[(effect || activationEffect)](...);

第二行调用 effect 上存储在 activationEffectsibs (第一个 true ish 值获胜)中的任何方法名称。
((effect == "show")?activationEffectSpeed:false) 是该调用的第一个参数,function(){ ... } 是第二个参数。

关于javascript - 这个 JavaScript 语法是如何工作的?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11015125/

10-11 01:45