如何防止javascript从字符串变量中解释我的数值变量?
var a = 100;
var b = -10
var c = a + b // 10-10 (string)比方说我一直想
var c = a + b = 100+(-10) = 90 (number)发布于 2011-11-25 20:45:24
然而,在你的例子中,c总是90;
var a = 100;
var b = "-10";
var c = a + b // "100-10" (string)为了防止这种情况,将字符串转换为整数;
var c = a + parseInt(b, 10); 或者使用unary+
var c = a + +b; 发布于 2011-11-25 20:45:12
你的代码示例...
var a = 100;
var b = -10
var c = a + b // 90 (number) ...除非其中一个操作数是String,否则不会这样做。在您的示例中,两者都是Number。
如果Strings中包含数字,则可以使用parseInt() (如果是十进制的话,不要忘记传递10的基数),或者可能只在String前面加上+,以将其强制转换为Number。
发布于 2011-11-25 20:45:33
您的代码运行良好。参见here。
https://stackoverflow.com/questions/8269287
复制相似问题