我正在使用一个jQuery插件,其中包含以下代码段:
$(el).siblings( panelSelector )[(effect || activationEffect)](((effect == "show")?activationEffectSpeed:false),function(){ .. some stuff .. });
我关注的不仅仅是它在插件环境中的作用,而是更多关于它是如何工作的。
我知道我们首先选择点击元素的兄弟姐妹,然后我相信我们正在检查这两个中的哪一个effect
或activationEffect
有一个值,我开始迷失在那里。它看起来像是一个回调函数,但如果它是我不明白什么包含回调。
答案 0 :(得分:4)
理解代码时您需要了解的主要事项是foo.bar
和foo['bar']
相等。
让它分开以使其更清晰:
var sibs = $(el).siblings(panelSelector);
sibs[(effect || activationEffect)](...);
第二行调用effect
或activationEffect
中存储的任何方法名称({1}}上的第一个真值得胜。
sibs
是该调用的第一个参数,((effect == "show")?activationEffectSpeed:false)
是第二个参数。