longmumin
游民
积分:120

关于debug.write和if语句

看了一下要是我一直问这么简单的问题实在是不好,但是这个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>



nancy
版主
积分:1372

判断是否是数字用isNaN(),比如isNaN(p).而不是直接和NaN比较。
而Debug.write中的Debug的第一个字母D要大写。

DK
游民
积分:50

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