var s;s=0
alert(s&&true);  //结果false正确s="aaa"
alert(s&&true);   //结果true正确s=""
alert(s&&true);   //结果为空???为什么会为空,不是只有true或者false的结果吗??求解答,谢谢

解决方案 »

  1.   

    这可能是一个BUG~·s = '';
    var b = Boolean(s);
    alert(b&&true);
    改成这样
      

  2.   


     
    ""在做逻辑运算的时候 相等于 false
    所以 &&后面不执行了
    直接返回""
    也就是 alert("")
    1# 你那个是对象 当然是true了
      

  3.   


    如果""相当于false,那么整个表达式是不是应该为false呢,怎么会返回""
      

  4.   


    <script type="text/javascript">
    <!--
    true && alert('ok');
    alert(0 && 9)
    //-->
    </script>
      

  5.   

    第一个弹出ok正常啊,第二个返回false,正常啊,
    和我提的问题什么关系???请指教
      

  6.   

    恩,我明白你的意思了,谢谢你~~~~
    由于""返回false,所以直接返回""给alter
      

  7.   

    。。还不明白alert("" && true);//将""转化为bool时为false,就直接返回""了
    这样alert(false && 'true');//第一个为false时表达式就为false,已经返回,不处理后面的