Javascript是否检查NaN/null?
我尝试使用isNaN和tmp===null,但两者都不起作用Javascript是否检查NaN/null?,javascript,Javascript,我尝试使用isNaN和tmp===null,但两者都不起作用 tmp = $("#n").html(); if(tmp === undefined || tmp === null){ tmp = 1; } tmp = parseInt(tmp); console.log("tmp: " + tmp); 控制台记录tmp:NaN 如果tmp是空的,我会给它一个值。以上内容摘自另一篇stackoverflow文章,但我不明白为什么它对我不起作用。我想你可以使用tmp=$n.html | 1
tmp = $("#n").html();
if(tmp === undefined || tmp === null){
tmp = 1;
}
tmp = parseInt(tmp);
console.log("tmp: " + tmp);
控制台记录tmp:NaN
如果tmp是空的,我会给它一个值。以上内容摘自另一篇stackoverflow文章,但我不明白为什么它对我不起作用。我想你可以使用tmp=$n.html | 1;,因为该值可能是空字符串
所有值,包括未定义的null,都是所谓的falsy值。运算符| |将对其求值为false,因此转到第二个参数并返回默认值1。我认为您可以使用tmp=$n.html | | 1;,因为该值可能是空字符串
所有值,包括未定义的null,都是所谓的falsy值。运算符| |将对其求值为false,因此转到第二个参数并返回默认值1。您尝试过吗
tmp = $("#n").html();
if(!tmp){
tmp = 1;
}
tmp = parseInt(tmp);
console.log("tmp: " + tmp);
你试过这个吗
tmp = $("#n").html();
if(!tmp){
tmp = 1;
}
tmp = parseInt(tmp);
console.log("tmp: " + tmp);
NaN意味着tmp不能被解析为Int,像abc…NaN意味着tmp不能被解析为Int,像abc…那不好:如果!如果tmp=0@Lulylulu如果tmp为0,则正常,否则为0falsy@Hacketo他意思是0数字是假的。@DmitriPavlutin它不能是0作为数字,tmp是一个数字string@Hacketo你是对的,它总是一个字符串,但这是一个坏习惯。这不好:如果!如果tmp=0@Lulylulu如果tmp为0,则正常,否则为0falsy@Hacketo他意思是0数字是假的。@DmitriPavlutin它不能是0作为数字,tmp是一个数字string@Hacketo你说得对,它总是一根弦,但这是一个坏习惯。这很管用!我可以补充一个非常聪明的解决方案:谢谢!成功了!我可以补充一个非常聪明的解决方案:谢谢!