"&&"表达式在这段JavaScript代码中意味着什么?

pik*_*hu0 1 javascript jquery ampersand

嗨,我最近从这里得到了一段JavaScript代码片段.

有人可以解释一下这个陈述是如何工作的:(jq=jq.slice(1)).length && hidenext(jq);在下面的函数中?

(function hidenext(jq){
    jq.eq(0).fadeOut("fast", function(){
        (jq=jq.slice(1)).length && hidenext(jq);
    });
})($('div#bodyContent a'))
Run Code Online (Sandbox Code Playgroud)

Den*_*ret 7

这里,由于未使用结果,逻辑AND用作一种短路if.

它是一样的

if ((jq=jq.slice(1)).length) hidenext(jq);
Run Code Online (Sandbox Code Playgroud)

它使用的事实是,如果第一部分未评估为真,则不会评估第二部分.