JS 表达式 简化写法

1、逻辑与 && 的运算方式

var a = 1 && 2;

console.log(a); //返回的结果为 2
如果逻辑与运算符左边的值布尔转换后为true,那么返回右边的值(不管右边的值是真还是假)。

var a = false && 2;

console.log(a); //返回的结果为 false
如果逻辑与运算符左边的值布尔转换后为false,那么返回左边的值,但是当逻辑与的左边为 null/NaN/undefined ,结果就会得到null/NaN/undefined。

2、逻辑或 || 的运算方式

如果逻辑或运算符左边的值布尔转换后为false,那么返回右边的值(不管右边的值是真还是假)。

如果逻辑或运算符左边的值布尔转换后为true,那么返回左边的值,如果两个操作数都是是null(NaN/undefined),返回null(NaN/undefined)

var a = false || 2;

console.log(a); //返回的结果为2

var a = true || 2;

console.log(a); //返回的结果为 true
3.短路表达式实际应用补充(2018-8-14)

(1)正则表达式
v => !v || /^([0-9]{7,18})|(0?(13|14|15|17|18|19)[0-9]{9})$/.test(v) || ‘格式错误’,
前边为true则不再执行后边的,前边为false则继续往后执行。

(2)if的简化
vm.querySelObj[key] && (params[key] = vm.querySelObj[key]);

相当于 a&&(b=1);

a等于true则执行b=1,a=false则不执行b=1.用if写:if(a=true){b=1}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值