isNaN()返回的值是什么呢?





看了一下要是我一直问这么简单的问题实在是不好,但是这个if我看了好几天了,查了很多,实在想不通他为什么不执行,很奇怪,还有这个debug.write也没有显示,还是冒着被大家厌烦的危险再来问一下吧
还是那段程序
我说的那个if 和debug在程序中有标出
<canvas>
<view name="mingzi" width="240" height="320" bgcolor="0xeaeaea">
<text fontsize="40">体重身高匹配</text>
</view>
<inputtext fontsize="20" x="0" y="50" bgcolor="red" >输入体重:</inputtext>
<inputtext id="input1" focusable="true" x="80" y="50" height="25" width="130" fontsize="15" ></inputtext>
<inputtext id="kaishi" fontsize="20" x="200" y="300">开测</inputtext>
<inputtext fontsize="20" x="0" y="80" bgcolor="red">输入身高:</inputtext>
<inputtext id="input2" focusable="true" x="80" y="80" height="25" width="130" fontsize="15" ></inputtext>
<text id="gaoyu" x="60" y="150" fontsize="40" text="你太重了" visible="false"></text>
<text id="xiaoyu" x="60" y="150" fontsize="40" text="你太瘦了" visible="false"></text>
<text id="zhenghao" x="60" y="150" fontsize="40" text="继续保持" visible="false"></text>
<text id="shuoming" x="60" y="150" fontsize="40" text="输入为空" visible="false"></text>
<handler name="onkeydown" reference="LzKeys" args="key">
<![CDATA[
var p;
var q;
var k=parseInt(key);
switch(k){
case 38:
LzFocus.setFocus(input1);
break;
case 40:
LzFocus.setFocus(input2);
break;
case 34:
q = parseInt(input1.getText());
p = parseInt(input2.getText());
debug.write("the q is"+q);这里的debug
if(p==NaN||q==NaN) //这里的if
{
zhenghao.setVisible(false);
xiaoyu.setVisible(false);
gaoyu.setVisible(false);
shuoming.setVisible(true);
break;
}
if(q==((p-100)*9/10))
{//判断体重
zhenghao.setVisible(true);
xiaoyu.setVisible(false);
gaoyu.setVisible(false);
}
else if(q<((p-100)*9/10))
{
xiaoyu.setVisible(true);
zhenghao.setVisible(false);
gaoyu.setVisible(false);
}
else
{
gaoyu.setVisible(true);
zhenghao.setVisible(false);
xiaoyu.setVisible(false);
}
break;
}
]]>
</handler>
</canvas>
判断是否是数字用isNaN(),比如isNaN(p).而不是直接和NaN比较。
而Debug.write中的Debug的第一个字母D要大写。