在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();//Stringvarb=1.toString();//SyntaxError当点操作符前为数字常量时会被解析为浮点数特征。如果希望解析器不将其读作浮点数特征,题主这样写:1..toString();1.toString();(1).toString();上面三个例子全部返回字符串变量,也就是说点操作符恢复正常。
添加回答
举报
0/150
提交
取消
