JavaScript中不合理的地方

zjroland 2016-10-31 09:50:32
比如"123"应该是字符串,不是数值,但是:
document.write(isNaN(“123”));
得到的结果与
document.write(isNaN(123));
都是一样的false,

这是怎么回事?
...全文
138 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
zjroland 2016-10-31
  • 打赏
  • 举报
回复
哦,隐性转换啊,我以前是学C#的,没有遇到这种情况。
  • 打赏
  • 举报
回复
楼上的+1!!!
当作看不见 2016-10-31
  • 打赏
  • 举报
回复
字符串会转化为数字,如果字符串有非数字,那就是true ,纯数字的字符串,也会认定为数字,所以返回false
zjroland 2016-10-31
  • 打赏
  • 举报
回复
彻底明白了,给分揭帖。
KK3K2005 2016-10-31
  • 打赏
  • 举报
回复
逻辑上 只是看能不能当数字用 是不是字符串不是重点
天际的海浪 2016-10-31
  • 打赏
  • 举报
回复
引用 3 楼 zjroland 的回复:
哦,隐性转换啊,我以前是学C#的,没有遇到这种情况。
C# 是强类型的语言 js 是弱类型的语言 在弱类型的语言中会根据上下文的需要自动转换数据的类型

87,917

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧