关于isNaN javascript测试 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 会先尝试将参数转化为数字new Number([1,2]) //NaNnew Number([])//0其他参数也都符合该方式,isNaN返回true的都是无法转化为数值的进一步原因就无法知晓了 Number([]) //0Number([1,2]) //NaNisNaN([]) -->isNaN(Number([]))-->isNaN(0)-->false isNaN([1,2]) -->isNaN(Number([1,2]))-->isNaN(NaN)-->true 楼主,是这样的:isNaN(a) 等价于判断Number(a)是否等于NaN,所以你把要判断isNaN表达式 用Number输出一下,看结果就知道了。 document.writeln("isNaN() -->" + isNaN() + ",Number:"+Number()) document.write("<br/>") document.writeln('isNaN("") -->' + isNaN("") + ",Number:"+Number("")) document.write("<br/>") document.writeln('isNaN("1") -->' + isNaN("1") + ",Number:" + Number("1")) document.write("<br/>") document.writeln('isNaN(" 1") -->' + isNaN(" 1") + ",Number:" + Number(" 1")) document.write("<br/>") document.writeln('isNaN(" 1 ") -->' + isNaN(" 1 ") + ",Number:" + Number(" 1 ")) document.write("<br/>") document.writeln('isNaN("1 1") -->' + isNaN("1 1") + ",Number:" + Number("1 1")) document.write("<br/>") document.writeln('isNaN("abc") -->' + isNaN("abc") + ",Number:" + Number("abc")) document.write("<br/>") document.writeln('isNaN(null) -->' + isNaN(null) + ",Number:" + Number(null )) document.write("<br/>") document.writeln('isNaN(undefined) -->' + isNaN(undefined) + ",Number:" + Number(undefined)) document.write("<br/>") document.writeln('isNaN(0/0) -->' + isNaN(0 / 0) + ",Number:" + Number(0/0)) document.write("<br/>") document.writeln('isNaN(1/0) -->' + isNaN(1 / 0) + ",Number:" + Number(1/0)) document.write("<br/>") document.writeln('isNaN(false) -->' + isNaN(false) + ",Number:" + Number(false )) document.write("<br/>") document.writeln('isNaN({}) -->' + isNaN({}) + ",Number:" + Number({})) document.write("<br/>") document.writeln('isNaN([]) -->' + isNaN([]) + ",Number:" + Number([])) document.write("<br/>") document.writeln('isNaN([1,2]) -->' + isNaN([1, 2]) + ",Number:" + Number([1,2]))结果是Number([]) 是0, Number([1,2])结果是NaN 至于进一步,Number([])结果为什么是0, Number([1,2])结果是NaN是这 样的:对于非原子数据类型,为先执行toString(),Number ([]) ==> Number([].toString()) ==> Number("") ==> 0Number ([1,2]) ==> Number([1,2].toString()) ==> Number("1,2") ==> NaN 用activeX空间控制浏览器最小化的问题。 请高手帮忙,这个问题有点难。 急!!!!!!!!!在线等~ javascript控制flash声音 javascript的浮动层在div+css制作的网页中动不起来 关于正则表达式:如何匹配所有字符 javascript中整数函数是什么?如asp是int() 如何在网页中,将鼠标变成漏斗形式?高分求救!!! showModalDialog有时显示不出来!! sos!! 关于javascript调用vbscript的问题?是否可以调用? Kendo UI 后台技术 一个页面打开多个父类窗口时,当第一个选择后,后面的父类窗口为什么都是一个窗口的值
new Number([1,2]) //NaN
new Number([])//0
其他参数也都符合该方式,isNaN返回true的都是无法转化为数值的
进一步原因就无法知晓了
Number([]) //0
Number([1,2]) //NaNisNaN([]) -->isNaN(Number([]))-->isNaN(0)-->false
isNaN([1,2]) -->isNaN(Number([1,2]))-->isNaN(NaN)-->true
document.writeln("isNaN() -->" + isNaN() + ",Number:"+Number())
document.write("<br/>")
document.writeln('isNaN("") -->' + isNaN("") + ",Number:"+Number(""))
document.write("<br/>")
document.writeln('isNaN("1") -->' + isNaN("1") + ",Number:" + Number("1")) document.write("<br/>")
document.writeln('isNaN(" 1") -->' + isNaN(" 1") + ",Number:" + Number(" 1")) document.write("<br/>")
document.writeln('isNaN(" 1 ") -->' + isNaN(" 1 ") + ",Number:" + Number(" 1 ")) document.write("<br/>")
document.writeln('isNaN("1 1") -->' + isNaN("1 1") + ",Number:" + Number("1 1")) document.write("<br/>")
document.writeln('isNaN("abc") -->' + isNaN("abc") + ",Number:" + Number("abc")) document.write("<br/>")
document.writeln('isNaN(null) -->' + isNaN(null) + ",Number:" + Number(null )) document.write("<br/>")
document.writeln('isNaN(undefined) -->' + isNaN(undefined) + ",Number:" + Number(undefined)) document.write("<br/>")
document.writeln('isNaN(0/0) -->' + isNaN(0 / 0) + ",Number:" + Number(0/0)) document.write("<br/>")
document.writeln('isNaN(1/0) -->' + isNaN(1 / 0) + ",Number:" + Number(1/0)) document.write("<br/>")
document.writeln('isNaN(false) -->' + isNaN(false) + ",Number:" + Number(false )) document.write("<br/>")
document.writeln('isNaN({}) -->' + isNaN({}) + ",Number:" + Number({})) document.write("<br/>")
document.writeln('isNaN([]) -->' + isNaN([]) + ",Number:" + Number([])) document.write("<br/>")
document.writeln('isNaN([1,2]) -->' + isNaN([1, 2]) + ",Number:" + Number([1,2]))结果是Number([]) 是0, Number([1,2])结果是NaN
对于非原子数据类型,为先执行toString(),
Number ([]) ==> Number([].toString()) ==> Number("") ==> 0Number ([1,2]) ==> Number([1,2].toString()) ==> Number("1,2") ==> NaN