当我尝试在javascript中运行此代码时
var num = 3;
console.log(num-1);
它工作正常。但每当我试图运行这个
var num = 3;
console.log("ans "+num-1);
输出为NaN。 如何解决这个问题?
答案 0 :(得分:3)
将num-1
部分与括号分组:
var num = 3;
console.log("ans " + (num - 1));
// ------------------^-------^
您获得NaN
的原因是"ans " + num - 1
是("ans " + num) - 1
,而-
运算符会将两个操作数强制转换为数字。 "ans 3"
无法强制转换为数字,因此您获得NaN
,并且NaN
的所有数学运算都会生成NaN
。
答案 1 :(得分:1)
在这里,您尝试添加字符串和整数值
尝试使用此
var num = 3;
console.log("ans ",num-1);

答案 2 :(得分:1)
用括号包裹
var num = 3;
console.log("ans " + (num - 1));