//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
js 逻辑运算符&&回调函数相关
答案:2 悬赏:30 手机版
解决时间 2021-01-26 21:44
- 提问者网友:杀生予夺
- 2021-01-26 07:27
最佳答案
- 五星知识达人网友:等灯
- 2021-01-26 07:48
这个你可以理解为缩写。
endFn && endFn();这个&&最后其实就是判断左右两边是true还是false。
第一步就会去判断左边是否为true。就和if(endFn)等价了。
如果这个条件不成立(即为false)。&&就不会在去执行右边的,
如果条件成立为true,就会执行右边的。
例子:1>3 && 5>1。
1>3为false,就没有执行右边的必要了。
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;反之亦然。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯