亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

js用isNAN判斷數字為什么輸入“數字+英文點號”也通過?

js用isNAN判斷數字為什么輸入“數字+英文點號”也通過?

皈依舞 2019-04-08 11:19:23
在w3c上做一個例子的時發現的【w3c直通車】發現如果輸入數字加一個英文點號居然也是可以通過的例如“10.”,不解,求大神介紹。。附上代碼:Pleaseinputanumber:ClickMe!functionmyFunction(){//Getthevalueofinputfieldwithid="numb"varval=document.getElementById("numb").value;//Gettheelementwithid="demo"varelem=document.getElementById("demo");//Ifvalueisspaceornotanumberif(val==""||isNaN(val)){elem.innerHTML="NotaNumber";}else{elem.innerHTML="InputOK";}}
查看完整描述

2 回答

?
UYOU

TA貢獻1878條經驗 獲得超4個贊

Javascript會把這個情況當做浮點數處理。
記住這個例子,以后就明白了。這也是Javascript解析器解析點操作符的一個“癖好”:
vara=[1].toString();//String
varb=1.toString();//SyntaxError
當點操作符前為數字常量時會被解析為浮點數特征。
如果希望解析器不將其讀作浮點數特征,題主這樣寫:
1..toString();
1.toString();
(1).toString();
上面三個例子全部返回字符串變量,也就是說點操作符恢復正常。
                            
查看完整回答
反對 回復 2019-04-08
  • 2 回答
  • 0 關注
  • 353 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號