嘿伙计们,我在理解下面函数中的代码行时遇到了问题:
function lala (index, callback){
$.isFunction(o.starting) && !callback && o.starting(el, li.eq(current));
}
考虑以下内容,
$。isfunction正在检查(o.starting)是一个函数,
现在假设我调用函数lala如下:
拉拉(1); //我只为索引传递一个参数,回调没有任何意义,这意味着如果在函数内部
lala我有一张支票!callback
,这将返回true ??
这条线路到底是做什么的:
$.isFunction(o.starting) && !callback && o.starting(el, li.eq(current));
我见过这样的事情:
(o.autoload) && dothis();
上面一行显示,如果o.autoload为true则继续执行dothis();
但下面的内容是什么意思?说实话可怕吗?
$.isFunction(o.starting) && !callback && o.starting(el, li.eq(current));
是检查两个条件I.e。
$.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语句读作"如果两个条件都为真"执行o.starting(el, li.eq(current));
。
以上示例与以下内容不同:
示例2:
$.isFunction(o.starting) && !callback && o.starting(el, li.eq(current));
我想在上面的行上没有执行任何功能。只返回true或false值。我对吗 ??如果为3个语句中的任何一个返回false,则该行之后的代码行将不会执行。在我的假设中,我完全正确吗?