永发信息网

js 逻辑运算符&&回调函数相关

答案:2  悬赏:30  手机版
解决时间 2021-01-26 21:44
  • 提问者网友:杀生予夺
  • 2021-01-26 07:27
//endFn是回调函数
doMore(x,x,x,x,function(){doMore($('div1'),'top',12,300);});
function doMore (obj,attr,dir,target,endFn){
//...
if(endFn){
endFn()
}

endFn && endFn();//能否帮忙解释下在这里这个语句为何此时的作用和上面的if判断一样。

// 这2个语句是等价的意思吗?为什么呢?
//不胜感激!!!

};

$('div1')
这不是JQ 自己写的模 是D.getBId
最佳答案
  • 五星知识达人网友:等灯
  • 2021-01-26 07:48
这个你可以理解为缩写。
endFn && endFn();这个&&最后其实就是判断左右两边是true还是false。
第一步就会去判断左边是否为true。就和if(endFn)等价了。
如果这个条件不成立(即为false)。&&就不会在去执行右边的,
如果条件成立为true,就会执行右边的。
例子:1>3 && 5>1。
1>3为false,就没有执行右边的必要了。
全部回答
  • 1楼网友:往事埋风中
  • 2021-01-26 08:36
1.&& 1.1两边条件都为true时,结果才为true; 1.2如果有一个为false,结果就为false; 1.3当第一个条件为false时,就不再判断后面的条件 注意:当数值参与逻辑与运算时,结果为true,那么会返回的会是第二个为真的值;如果结果为false,返回的会是第一个为假的值。 2.|| 2.1只要有一个条件为true时,结果就为true; 2.2当两个条件都为false时,结果才为false; 2.3当一个条件为true时,后面的条件不再判断 注意:当数值参与逻辑或运算时,结果为true,会返回第一个为真的值;如果结果为false,会返回第二个为假的值; 3.! 3.1当条件为false时,结果为true;反之亦然。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯