Javascript 如何在解析的int-textfield输入中获得NaN作为结果?

Javascript 如何在解析的int-textfield输入中获得NaN作为结果?,javascript,Javascript,我在表单输入上做了一个parseInt。但当我输入字母时,类型是“number”,我希望是“NaN”。为什么会这样 我的代码: const inpout=document.querySelectorAll('input'); for (const type of inpout){ type.addEventListener('input',function(){ const res=parseInt(this.value);

我在表单输入上做了一个parseInt。但当我输入字母时,类型是“number”,我希望是“NaN”。为什么会这样

我的代码:

const inpout=document.querySelectorAll('input');

      for (const type of inpout){
            type.addEventListener('input',function(){

        const res=parseInt(this.value);



        if(typeof res === 'number'){this.style.color=('red');}
            else if(isNaN (res)){
                   this.style.color=('green');
           }else{
               this.style.color=('green');

         }
  });
}


我希望数字变为红色,字母变为绿色

这取决于您在表单输入中输入的值。例如,如果您输入的值是
parseInt(3f)
,JavaScript将尝试在
parseInt()
方法中将其解析为一个数字。但是如果输入的值是
parseInt(f3)
,那么您将收到一个
NaN
,因为字母将首先“读取”


希望有帮助

请出示您的代码,因为parseInt函数无法根据输入创建数字。“5”可以变成一个数字。“Foo”不能。
typeof NaN
返回
number
…:)
NaN
是一个数值,不是类型@ZohirSalak不,你没有抓住重点,我相信:他在问为什么
NaN
会得到一种
Number
——我相信他确实得到
NaN
,但那是一种
Number
,这让人困惑。。。。