空格在input输入框算什么?
做了个闰年判断实验,偶然间发现个问题,input输入框里如果输入了空格键,它在js中竟然被当作了一个number存在,真是一个不伦不类的number啊,
代码
运行截图
图中输入了空格键,显示输出是闰年,说明它空格键被分到了小于等于零的这一类number类型中
但是!又尝试一波操作之后,发现并非如此!
当更改learYear中的year<=0为year>=0后,发现运行结果跟刚刚的一毛一样,这可让我开始怀疑自己了,它不可能又大于零又小于零啊,然后又分别尝试了year=0,year>0,year<0,最后得出它什么都不是,也不是number类型,所以以后碰到这个的时候就按不违反大逻辑的前提去处理它吧。
就像这样:
代码
以上运行结果图中都是输入了空格键,并不是没有输入,没有输入会弹出提示框“输入不能为空”,如果在函数 isLeapYear
里省去year>0这个条件,当运行后输入空格键会提示 是闰年,说明空格键不是非数字也不是空输入类型。所以摸不清它是什么。