两个变量取值:
var aa=window.showModalDialog("veristock.asp"+bb,pihao,"dialogHeight: 10px; dialogWidth: 10px; dialogTop: px; dialogLeft: px; edge: Raised; center: Yes; help: yes; resizable: yes; status: yes; scroll:No");var bb= document.getElementById("cc").value;然后,企图将aa、bb的值转换为数字型,dd=number(aa);
ee=number(cc);总是提示“缺少对象”。如果再运行一次代码,错误提示就会变成“缺少函数”。请各位前辈指教何故。

解决方案 »

  1.   

    楼主:先了解一下Number 对象
    代表数值数据类型和提供数值常数的对象。
    numObj = new Number(value)<table>
    <tr>
         <td style="display:none">01</td>
            <td>02</td>
    </tr>
    </table><script>
    var tes = document.getElementsByTagName('td') ;
    for(var i=0;i<tes.length;i++){
    //alert( tes[i].style.display );
    var a = new Number(tes[i].innerText);
    alert(a);
    }
    </script>
      

  2.   

    非常感谢vnetcbd兄的指教。本人初学,实在愚钝,可否按照俺的实例详细说明一下俺该如何实现把那两个变量值转换为数值?说来这个问题是由于另外一个问题引发的。如果不用number()这个方法,直接将dd和ee做比较,比如dd=5,ee=739,那么做 if (ee>dd) 判断时,程序会认为dd大于ee。而且俺发现,当dd小于等于4时判断是正确的,当dd大于等于5并小于9时判断失误。当dd大于9时又正确了。不知道咋回事。
      

  3.   

    楼主你的问题好奇怪呀!!
    同样都是 数字比较怎么会有判断失误呢?<script>
    var a = 4 ;
    var b = 739 ;
    if(b>a){
    alert( "b:"+ b +"大于" + "a:"+a );
    }else{
    alert( a +"大于" + b );
    }
    </script>
      

  4.   

    var bb= document.getElementById("cc").value;然后,企图将aa、bb的值转换为数字型,
    为什么要这样呢?
    直接比较大小可以像5楼那要要想相加: parseInt(aa)+parseInt(bb)
      

  5.   

    类型转换可以使用
    parseFloat()和parseFloat()函数
    也可以 "739"-0 转换
    判断是否为非数字可以使用函数isNaN()函数
      

  6.   


    确实如此,俺也非常纳闷。同样的代码,在两个asp文件中出现,其实是把其中一个的代码拷贝到另外一个文件中。第一个asp文件运行时正常,第二个就不行,总是提示缺少对象。aa、bb的取值方法是俺代码中的实例,确实发现这个问题,所以才想到把它们先转换为数值型,这就引发了“缺少对象”的问题,不知道如何解决。
      

  7.   

    <script>
    var a = 4 ;
    var b = 739 ;
    if(b>a){
    alert( "b:"+ b +"大于" + "a:"+a );
    }else{
    alert( a +"大于" + b );
    }
    </script>
    你的cc在那  那种错误一般是没有声明对象
      

  8.   


    严重抱歉,俺手误,应该是 ee=number(bb)好像不是没有声明的问题,同样的代码,在另外一个asp文件中运行无误,在这个里面就不行。总是提示“缺少对象”aa、bb取值后,好像都是string类型