js中三目运算不能算出结果的原因
原创
©著作权归作者所有:来自51CTO博客作者尔嵘bobo的原创作品,请联系作者获取转载授权,否则将追究法律责任
示例:我要判断返回的额e1,e2,e3,e4并相加计算。
value:
0.0 + data[0].e2 == null || data[0].e2 == undefined
? 0.0
: data[0].e2 * 1.22 + data[0].e3 == null ||
data[0].e3 == undefined
? 0.0
: data[0].e3 * 0.75 + data[0].e4 == null ||
data[0].e4 == undefined
? 0.0
: data[0].e4 * 0.75,
结果:只计算了e4的值
原因:三木运算符始终执行的是你最后输出的,所以不能像上面这样加起来写。
解决:
value:
data[0].e2 == null || data[0].e2 == undefined
? 0.0
: data[0].e2 * 1.22 +
(data[0].e3 == null || data[0].e3 == undefined
? 0.0
: data[0].e3 * 0.75 +
(data[0].e4 == null || data[0].e4 == undefined
? 0.0
: data[0].e4 * 0.36)),