Javascript 数字比较不';NaN,这不是预料中的事

Javascript 数字比较不';NaN,这不是预料中的事,javascript,html,numbers,Javascript,Html,Numbers,我有两个变量 var x = '23b'; var y = '23a'; 现在我有了一个比较的逻辑,如果它们相等,我想做一些事情 注:两者比较时,如果两者均为NaN,则应通过条件 我试过用这个 if (Number(x) == Number(y)) 即使两者都是NaN,也返回false为什么是数字 只需使用parseInt if (parseInt(x, 10) == parseInt(y, 10)) 南的行为具有误导性 安慰一下 NaN==NaN 您将得到false值为什么是数字 只

我有两个变量

var x = '23b';
var y = '23a';
现在我有了一个比较的逻辑,如果它们相等,我想做一些事情

注:两者比较时,如果两者均为NaN,则应通过条件

我试过用这个

if (Number(x) == Number(y)) 
即使两者都是NaN,也返回false为什么是数字

只需使用parseInt

if (parseInt(x, 10) == parseInt(y, 10)) 
南的行为具有误导性

安慰一下 NaN==NaN

您将得到false值

为什么是数字

只需使用parseInt

if (parseInt(x, 10) == parseInt(y, 10)) 
南的行为具有误导性

安慰一下 NaN==NaN


您将得到false值

您可以使用
isNAN

var x = '23b';
var y = '23a';
if(isNAN(x) && isNAN(y))
alert("both are NAN");

您可以使用
isNAN

var x = '23b';
var y = '23a';
if(isNAN(x) && isNAN(y))
alert("both are NAN");
var x='23b';
变量y='23a';
log(parseFloat(x)==parseFloat(y))
var x='23b';
变量y='23a';
log(parseFloat(x)==parseFloat(y))尝试使用
Object.is()

我也在这里回答

尝试使用
Object.is()


我也在这里回答

如果两者都是数字,则该测试的可能重复项为真,无论它们是否相等。@Traktor53是的,这是真的,如果两者都是NAN,则将进行比较,我认为他有相同的问题。要测试两者是否都是NAN:
if(isNaN(x)和&isNaN(y))
@Traktor53 Oh修复了它:D。如果两者都是数字,则该测试为真,不管它们是否相等。@Traktor53是的,如果两者都是NAN,这将进行比较,我认为他有相同的问题。要测试两者是否都是NAN:
if(isNaN(x)和&isNaN(y))
@Traktor53 ohh修复了它:D。