博主信息
富贵人生
博文
87
粉丝
0
评论
0
访问量
3202
积分:0
P豆:174

【前端】js中a||b,a&&b 这种表示啥意思?

2021年10月11日 19:50:42阅读数:32博客 / 富贵人生

if(type){
options = success
success = data;
data = {};
}
options = options || {};return $.ajax({type: options.type || 'post',dataType: options.dataType || 'json',data: data,url: url,success: function(res){if(res.status === 0) {
success && success(res);
} else if(res.status === 2){ //未绑定手机号that.setPhoneNotice();
} else if(res.status === 3){ //未激活邮箱that.setEmailNotice();
} else {
layer.msg(res.msg || res.code, {shift: 6});
options.error && options.error();
}
}, error: function(e){
layer.msg('请求异常,请重试', {shift: 6});
options.error && options.error(e);
}
});

有几处写法不太理解,例如这种:options.type || ‘post’,这是什么用法,像三元又不像。中间一个或。

options.error && options.error(); 还有这种,他是啥意思。

回答

js逻辑运算
JS中的||符号:
运算方法:

只要“||”前面为false,不管“||”后面是true还是false,都返回“||”后面的值。

只要“||”前面为true,不管“||”后面是true还是false,都返回“||”前面的值。

总结:真前假后

2、JS中的&&符号:

运算方法:

只要“&&”前面是false,无论“&&”后面是true还是false,结果都将返“&&”前面的值;

只要“&&”前面是true,无论“&&”后面是true还是false,结果都将返“&&”后面的值;
(a || b) === (() => { if (a) {return a;} else {return b} })() === (a ? a : b)

(a && b) === (() => { if (a) {return b;} else {return a} })() === (a ? b : a)

如楼上所说,在你粘贴的代码中作用于默认值填充,QQ靓号出售平台地图判断与你是否传参或者该值是否存在,如果不存在就使用 ||后面的值作为默认值

这个叫短路运算,搜一下有很多解释的,目的就是简化代码


版权申明:本博文版权归博主所有,转载请注明地址!如有侵权、违法,请联系admin@php.cn举报处理!

全部评论

文明上网理性发言,请遵守新闻评论服务协议

条评论