今天遇到一个比较奇怪的问题,问题如下:
var A = 'abc123', B = true, C;
console.log(B); //true
console.log(typeof (B ? "ABC" : "CBA")); //string
C = A + B ? "ABC" : "CBA";
console.log(C); //输出 ABC
//js会这样处理的
C = (A + B) ? "ABC" : "CBA";
console.log(C); //输出ABC
//处理方法
C = A + (B ? "ABC" : "CBA");
console.log(C); //输出 abc123ABC
var D = B ? "ABC" : "CBA";
C = A + D;
console.log(C); //输出 abc123ABC
Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
不清楚问题在哪里
C = A + B ? "ABC" : "CBA";
console.log(C); //输出 ABC
因为 C = A + B 不为空,所以为true