javascript - typeof 输入框里面的值 就算输入为数字还是返回string
伊谢尔伦
伊谢尔伦 2017-04-11 08:58:39
[JavaScript讨论组]


我输入数字 控制台打印出来typeof的结果还是string 这是为什么

伊谢尔伦
伊谢尔伦

小伙看你根骨奇佳,潜力无限,来学PHP伐。

全部回复(9)
高洛峰

因为你取出来的内容都是字符串形式的啊,你eval(value)试试

伊谢尔伦

因为input.value取到的值就是字符串类型的。

巴扎黑

var value = +input.value;
这样就 OK 了

迷茫

input.value获取的值默认为string类型,因此获取到的1其实是'1',接楼上的,在var value=+input.value的过程中,因为+的存在,产生了一个隐式转换,所以input.value都转换成了number类型

高洛峰

#input 中的值一定是个字符串,所以你 typeof 之后是 string。如果你想要判断是否全为数字,可以使用正则进行校验。

/^\d+$/.test('')  // false
/^\d+$/.test('123a')  // false
/^\d+$/.test('123')  // true
PHPz

+'123'===123

伊谢尔伦

其实你在定义的时候,就已经定义 值是字符串类型的了。

我特意试了一下input type类型改成number, 但判断后类型也是string。

w3c上有个 number类型的提示,我没测试。
提示:iPhone 的 Safari 浏览器会识别 number 输入类型 。

PHPz

isNaN

大家讲道理

typeof '123';
typeof 123

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号