请问JS判断值为空时为什么这么不稳定啊??我是用  obj==""||obj==null和obj=="" 两种方法判断我都试过。。很不稳定,有时候可以判断出,有时候不可以,这是为什么啊??

解决方案 »

  1.   

    因為“”并不一定代表空
    建議先var xx=你要判斷的東西
    再對xx做判斷的好
      

  2.   

    恩,下面用‘empty’判斷
    忘說了
      

  3.   

    是不是里面还有空格啊?有空格的话先把空格去掉在
    obj==null¦ ¦obj=="" 
    function trim (v){
    return v.replace(/\s+$|^\s+/g,"");
    }
    obj==null¦ ¦trim(obj)=="" 这样试试!
      

  4.   

    我把我的代码贴上来,你帮我看看吧。。<script type="text/javascript">
    var xmlHttp;
    var content;
    var oCurrRow="";
    var id;
    var miaoshu;
    var phonumber=new Array();
    var lens;
    var phonenumbers;
    var xmlDoc;
     var tagvals;
     var tagval=new Array();
     var msgObj;
     var bgObj;
     var title;
     
     function SelectRow(oRow)
    {    
    if(oCurrRow)
    {
    oCurrRow.style.backgroundColor="";
    }
    oRow.style.backgroundColor ='#EBF8FF';
    oCurrRow = oRow;
    }function sAlert(str){ 
       var msgw,msgh,bordercolor; 
       msgw=400;//提示窗口的宽度 
       msgh=100;//提示窗口的高度 
       titleheight=25; //提示窗口标题高度 
       bordercolor="#336699";//提示窗口的边框颜色 
       titlecolor="#99CCFF";//提示窗口的标题颜色 
        
       var sWidth,sHeight; 
       sWidth=document.body.offsetWidth; 
       sHeight=screen.height; 
      bgObj=document.createElement("div"); 
       bgObj.setAttribute('id','bgDiv'); 
       bgObj.style.position="absolute"; 
       bgObj.style.top="0"; 
       bgObj.style.background="#777"; 
       bgObj.style.filter="progid:DXImageTransform.Microsoft.Alpha(style=3,opacity=25,finishOpacity=75"; 
       bgObj.style.opacity="0.6"; 
       bgObj.style.left="0"; 
       bgObj.style.width=sWidth + "px"; 
       bgObj.style.height=sHeight + "px"; 
       bgObj.style.zIndex = "10000"; 
       document.body.appendChild(bgObj); 
        
       msgObj=document.createElement("div") 
       msgObj.setAttribute("id","msgDiv"); 
       msgObj.setAttribute("align","center"); 
       msgObj.style.background="white"; 
       msgObj.style.border="1px solid " + bordercolor; 
          msgObj.style.position = "absolute"; 
                msgObj.style.left = "50%"; 
                msgObj.style.top = "50%"; 
                msgObj.style.font="12px/1.6em Verdana, Geneva, Arial, Helvetica, sans-serif"; 
                msgObj.style.marginLeft = "-225px" ; 
                msgObj.style.marginTop = -75+document.documentElement.scrollTop+"px"; 
                msgObj.style.width = msgw + "px"; 
                msgObj.style.height =msgh + "px"; 
                msgObj.style.textAlign = "center"; 
                msgObj.style.lineHeight ="25px"; 
                msgObj.style.zIndex = "10001"; 
        
         title=document.createElement("h4"); 
         title.setAttribute("id","msgTitle"); 
         title.setAttribute("align","right"); 
         title.style.margin="0"; 
         title.style.padding="3px"; 
         title.style.background=bordercolor; 
         title.style.filter="progid:DXImageTransform.Microsoft.Alpha(startX=20, startY=20, finishX=100, finishY=100,style=1,opacity=75,finishOpacity=100);"; 
         title.style.opacity="0.75"; 
         title.style.border="1px solid " + bordercolor; 
         title.style.height="18px"; 
         title.style.font="12px Verdana, Geneva, Arial, Helvetica, sans-serif"; 
         title.style.color="white"; 
         title.style.cursor="pointer"; 
         title.innerHTML=""; 
        
        
         document.body.appendChild(msgObj); 
         document.getElementById("msgDiv").appendChild(title); 
         var txt=document.createElement("p"); 
         txt.style.margin="1em 0"; 
         txt.setAttribute("id","msgTxt"); 
         txt.innerHTML=str; 
      document.getElementById("msgDiv").appendChild(txt);
       if(title.onclick){
       guanbi(); }
                } 
         function guanbi(){
         
         document.body.removeChild(bgObj); 
         document.getElementById("msgDiv").removeChild(title); 
          document.body.removeChild(msgObj); 
         } 
      function createXMLHttpRequest(){
     if(window.ActiveXObject){
     xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
     }
     else if(window.XMLHttpRequest){
      xmlHttp=new XMLHttpRequest();
     }
    } function changecode(str){
     str = encodeURI(str);
     return str;
    }function save(){
    createXMLHttpRequest();
    miaoshu=document.getElementById("miaoshu").value;
    content=document.getElementById("area").value;
    if(miaoshu==""||content==""){
    alert("内容或描述为空,请重新输入!");
    }else{
    content =changecode(content);
    miaoshu=changecode(miaoshu);var url=encodeURI("TDIY_SMSCONTENT_Servlet?method=insert&content="+content+"&miaoshu="+miaoshu);
    xmlHttp.open("GET",url,true);
    xmlHttp.onreadystatechange=handlestatechange1;
    xmlHttp.send(null);}
    }
    function handlestatechange1(){
    if(xmlHttp.readystate==4){
    if(xmlHttp.status==200){
    alert("提交成功!");
    //document.all.area.innerText="";
    //document.all.miaoshu.innerText="";
    startRequest();}
    }
    }
    function update(){
    createXMLHttpRequest();
    var id=oCurrRow.cells(0).innerHTML;content=document.getElementById("area").value;content =changecode(content);var url=encodeURI("TDIY_SMSCONTENT_Servlet?method=update&id="+id+"&content="+content);
    xmlHttp.open("GET",url,true);
    xmlHttp.onreadystatechange=handlestatechange2;
    xmlHttp.send(null);
    }
    function handlestatechange2(){if(xmlHttp.readystate==4){if(xmlHttp.status==200){
    alert("提交成功!");
    startRequest();
    }}}function delete11(){
    if(oCurrRow==""||oCurrRow==null){
    alert("请选中一行再删除");
    }else{
    var id=oCurrRow.cells(0).innerHTML;
    var url=encodeURI("TDIY_SMSCONTENT_Servlet?method=delete&id="+id);
    xmlHttp.open("GET",url,true);
    xmlHttp.onreadystatechange=handlestatechange2;
    xmlHttp.send(null);
    }
    function handlestatechange2(){if(xmlHttp.readystate==4){if(xmlHttp.status==200){
    alert("删除成功!");
    startRequest();
    }}}
    }function select11(){
    createXMLHttpRequest();var url="TDIY_SMSCONTENT_Servlet?method=select11";
    xmlHttp.open("GET",url,true);
    xmlHttp.onreadystatechange=function(){if(xmlHttp.readystate==4){
    if(xmlHttp.status==200){test();
    }
    }
    }
    xmlHttp.send(null);}
    function test(){ xmlDoc = xmlHttp.responseXML.documentElement;
     phonenumbers=xmlDoc.getElementsByTagName("tagkey");
     tagvals=xmlDoc.getElementsByTagName("tagval");
    lens=phonenumbers.length;
    //}function check(){
    if(oCurrRow==""){
    alert("请选中一行再编辑");}
    else{
    var s=bianji();
    sAlert(s);
    }
    }
    function bianji(){content=oCurrRow.cells(1).innerHTML;
    var par;
    par="<select name='select' id='select'>";
    par+="<option value=''></option>";
    for(var j=0;j<lens;j++){
    phonumber[j]=phonenumbers[j].firstChild.nodeValue;par+="<option value='";
    par+=phonumber[j];
    par+="'>";
    par+=phonumber[j];
    par+="</option>";
    }par+="<input type='button' value='确定' onclick='inner();'>";
    par+="<br>";
    par+="<textarea id='area' cols='25' rows='5' align='center'>";
    par+=content;
    par+="</textarea>";
    par+="<input type='button' id='tijiao' value='提交' onclick='update()&guanbi();'>";return par;
    }function inner(){
     select11();
     var d;
     var num="";
    var tagval;
     var number=document.all("select").options[document.all("select").selectedIndex].value;  for(d=0;d<lens;d++){
    phonumber[d]=phonenumbers[d].firstChild.nodeValue; 
    if(phonumber[d]==number){num=d;
    }
    }if(number==""){
    alert("请在下拉列表中选择!");
    }else{
    tagval=tagvals[num].firstChild.nodeValue;
    //var number=get(this);
      
    var area=document.getElementById("area");area.insertAdjacentHTML("beforeEnd",tagval);
    }
    }function add(){
    var par1;
    par1="内容:<input type='textarea' id='area'>";
    par1+="<br>";
    par1+="描述:<input type='text' id='miaoshu'>";
    par1+="<br>";
    par1+="<input type='button' value='提交' onclick='save()&guanbi();'>";
    return par1;
    }</script>
    </head><body>
    <br>
    <h1 align="center">欢迎使用短信编辑后台</h1>
    <br><br>
    <div id="tablelist"></div>
    <br><br>
    <div align="center">
    <input type="button" value="增加记录" onclick='sAlert(add());' class="button" />
    <input type="button" value="删除记录" onclick='delete11();'/>
    <input type="button" value="编辑选中行内容" onclick='select11()&check();'/>
    </div>
    <body><br /></body>
    可以用oCurrRow='empty' 判断,但是SelectRow(oRow)就会报错了不知道到底该怎样。。