这个JavaScript语法如何工作?

时间:2012-06-13 12:45:57

标签: javascript jquery syntax

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

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

我关注的不仅仅是它在插件环境中的作用,而是更多关于它是如何工作的。

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

1 个答案:

答案 0 :(得分:4)

理解代码时您需要了解的主要事项是foo.barfoo['bar']相等。

让它分开以使其更清晰:

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

第二行调用effectactivationEffect中存储的任何方法名称({1}}上的第一个真值得胜。

sibs是该调用的第一个参数,((effect == "show")?activationEffectSpeed:false)是第二个参数。