Javascript 仔细检查unslider.js插件内部,它在做什么?

Javascript 仔细检查unslider.js插件内部,它在做什么?,javascript,jquery,Javascript,Jquery,嘿,伙计们,我在理解下面函数中的代码行时遇到了问题: function lala (index, callback){ $.isFunction(o.starting) && !callback && o.starting(el, li.eq(current)); } 想想下面的例子 $.isfunction用于检查o。starting是一个函数 现在假设我调用函数lala,如下所示: lala1;//我只为索引传递了一个参数,对回

嘿,伙计们,我在理解下面函数中的代码行时遇到了问题:

function lala (index, callback){

         $.isFunction(o.starting) && !callback && o.starting(el, li.eq(current));

    }
想想下面的例子

$.isfunction用于检查o。starting是一个函数

现在假设我调用函数lala,如下所示:

lala1;//我只为索引传递了一个参数,对回调则没有传递任何参数,这意味着如果在函数内部 拉拉,我有张支票!回调,这将返回true

这条线到底在做什么:

$.isFunction(o.starting) && !callback && o.starting(el, li.eq(current));
我见过这样的事情:

(o.autoload) && dothis();
上面的行显示,如果o.autoload为true,则继续执行此操作

但下面这行是什么意思?老实说,这有点太吓人了

$.isFunction(o.starting) && !callback && o.starting(el, li.eq(current));
是否检查两种情况,即

$.isFunction(o.starting) && !callback
而不是执行:

o.starting(el, li.eq(current));
编辑::

在做一点阅读时,我只想确认一下:

示例一:

function lala(index, callback) {
  if($.isFunction(o.starting) && !callback) o.starting(el, li.eq(current));
}
fnction中的上述if语句的读取方式就像两个条件都为true一样执行o.startingel,li.eqcurrent

那么,上述示例是否与以下示例不同:

例2:

$.isFunction(o.starting) && !callback && o.starting(el, li.eq(current));

我猜在上面几行中没有执行任何函数。只返回true或false值。我说的对吗??如果3条语句中的任何一条返回false,则该行之后的代码行将不会执行。我的假设完全正确吗

这是一个逻辑AND,如果从一开始就开始,只要isFunction是真的,它就会继续到下一个,如果!回调是通过它继续到下一个,依此类推。@adeneo谢谢,我通常看到这样的逻辑运算符iflala&&bla bla{do_this;}。。但在现实世界中,事情似乎要复杂得多。不过谢谢。这似乎只是一种基于之前的检查是否真实等来执行函数的聪明方法。@adeneo谢谢邪恶的Genious!出于好奇,你是Bjarne Stroustrup吗?不客气,我不是Bjane,事实上,我一点都不擅长C++,但我一直都想学。但比亚恩是会员->