如果我有几个变量,例如
var t1 = "123";
var t2 = null;
var t3 = "456";
我想连接 t1 + t2 + t3,这样的字符串是否有固定输出,或者结果是否取决于不同的 Javascript 引擎?
如果我有几个变量,例如
var t1 = "123";
var t2 = null;
var t3 = "456";
我想连接 t1 + t2 + t3,这样的字符串是否有固定输出,或者结果是否取决于不同的 Javascript 引擎?
在所有浏览器/引擎中都是一样的。你可以这样做(假设 t1, t2, t3 总是字符串)
var t1 = "123";
var t2 = null;
var t3 = "456";
var result = (t1 || "") + (t2 || "") + (t3 || ""); // Logical OR `||` to avoid null/undefined.
结果将是123456
无论浏览器如何,它都会返回相同的输出。如果有的话,它只是null
可能不同的部分(不太可能)
在这种情况下,它将是"123null456"
null
为了抵消不同浏览器如何将值转换为字符串的任何不一致,您可以使用:
function concatAll() {
var s = '';
for(var x in arguments) {
s += arguments[x] == null ? 'null' : arguments[x];
}
return s;
}
var t1 = "123";
var t2 = null;
var t3 = "456";
concatAll(t1, t2, t3); // will return "123null456"