【发布时间】:2012-12-18 13:25:29
【问题描述】:
所以今天我遇到了这种情况。我有一个整数和一个需要比较的字符串。为了比较两者,我要么必须 toString() 整数,要么将字符串解析为 int。
这是我的问题,我应该选择哪一个,两者的性能有什么不同吗? (即使是最小的)有经验法则吗?
这是一个代码示例:
var intI = 1;
var stringS = '1';
if (intI.toString() == stringS)
console.log('are equal');
//Or
if (intI == parseInt(stringS))
console.log('are equal');
如果我可以将 Integer 声明为我知道的字符串(因为它不用于计算),那将是最好的。但它在网站上随处可见。
【问题讨论】:
-
确保在调用 parseInt 时设置基数,否则如果您的字符串是 '07',它将被解释为八进制
-
注意 parseInt($num, 10) 的第二个参数。你想将整数解析为十进制、十六进制、八进制还是什么?对于十进制,使用“10”作为第二个参数的值。这不是默认设置。
标签: javascript casting tostring parseint