Javascript 我想我发现了isNaN的一个bug()

Javascript 我想我发现了isNaN的一个bug(),javascript,Javascript,我正在学习Javascript机制,我相信我刚刚在isNaN()中偶然发现了一个bug 这是测试代码 var x = "1000"; Answer = isNaN(x); console.log(Answer); 控制台日志返回“false”,这表示Javascript将“1000”视为一个数字。我认为“中的任何内容都被视为字符串。显然并非总是如此。如果我错了,也许有人有一些见解可以让我明白过来。显然,这是一个功能,而不是一个bug 当isNaN函数的参数不是Number类型时,该值首先强制

我正在学习Javascript机制,我相信我刚刚在
isNaN()
中偶然发现了一个bug

这是测试代码

var x = "1000";

Answer = isNaN(x);
console.log(Answer);

控制台日志返回“false”,这表示Javascript将“1000”视为一个数字。我认为
中的任何内容都被视为字符串。显然并非总是如此。如果我错了,也许有人有一些见解可以让我明白过来。

显然,这是一个功能,而不是一个bug

isNaN
函数的参数不是Number类型时,该值首先强制为一个数字。然后测试结果值以确定其是否为
NaN


来源:

NaN对于浮点数表示有非常特殊的含义。isNaN只测试这个。该死的,谢谢!我搜索了isNaN,但没有找到线索。这个线程有答案。我没有读过这篇文章,但我很确定javascript会将字符串识别为数字。另一个值得注意的区别是:
Number.isNaN
不会进行这种强制
isNaN('A')==true
,而
Number.isNaN('A')==false