我有两个变量;
var x = '23b';
var y = '23a';
现在我有一个可以比较的逻辑,如果它们相等,我想要执行某些事情
注意:两者在比较时,如果两者都是NaN仍然应该通过条件
我尝试过使用此
if (Number(x) == Number(y))
即使两者都是NaN
,也会返回false答案 0 :(得分:0)
为何选择数字?
只需使用parseInt
if (parseInt(x, 10) == parseInt(y, 10))
NaN上的行为具有误导性
只是安慰这个 NaN == NaN
您将获得值为false
答案 1 :(得分:0)
您可以使用isNAN
var x = '23b';
var y = '23a';
if(isNAN(x) && isNAN(y))
alert("both are NAN");
答案 2 :(得分:0)
var x = '23b';
var y = '23a';
console.log(parseFloat(x)===parseFloat(y));

答案 3 :(得分:0)
尝试使用Object.is()
var x = '23b';
var y = '23a';
Object.is(Number(x),Number(y)); => true
此处也回答了...... https://stackoverflow.com/a/48300450/617797