下面的代码可以正常执行,而且执行的结果至少是这段代码的正确结果
JavaScript的三目运算,执行多条语句就是这样写的??
<script type="text/javascript">
  var i = 0;
  var x = 3;
  var y = 5;
  x > y ? alert(x) : (alert(y))+(i = 1)+(alert("i = "+i));
</script>
BTW,我是看了别人PHP中这样写<?php
  var i = 0;
  var x = 3;
  var y = 5;
  x > y ? alert(x) : (alert(y)).(i = 1).(alert("i = "+i));
?>所以想说是不是JavaScript也是一样呢...PHP中这样写对吗??

解决方案 »

  1.   

    .....上面那里忘了修改...PHP中没有alert....orz<?php
      var i = 0;
      var x = 3;
      var y = 5;
      x > y ? echo x : (echo y).(i = 1).(echo "i = ".i);
    ?>
      

  2.   

    <script type="text/javascript">
      var i = 0;
      var x = 3;
      var y = 5;
      x > y ? alert(x) : (alert(y))+(i = 1)+(alert("i = "+i));
    </script>(alert(y))+(i = 1)+(alert("i = "+i))
    有种闭包的味道
      

  3.   

    多条语句还是if else好了,不容易出错,别什么都去追求极致。。
      

  4.   

    不要迷恋复杂的写法...代码首先是为人写的,其实才是机器...if(checkEmail(document.getElementById("txtEmail").value)){
        //....
    }建议写法
    var inputStr=document.getElementById("txtEmail").value;
    var isEmail=checkEmail(inputStr);
    if(isEmail){
        //....
    }为了是方便自己或者他人日后维护方便
      

  5.   


    我当然知道用IF...ELSE...比较直观,而且应该推荐IF...ELSE...的写法
    我只是想知道JAVASCRIPT的三目运算中,执行多条语句是不是这样写的啊...
      

  6.   

      var i = 0;
      var x = 3;
      var y = 5;
      x > y ? alert(x) : ((alert(y)),(i = 1),(alert("i = "+i)));
    这样也行,不过看起来真蛋疼。
      

  7.   

    呵呵,复杂的三目运算,可以这样写,没有错
    不过不建议这样写,看得人会很晕 
    另外给你看个例子,锻炼你的三目解读能力
    http://topic.csdn.net/u/20100319/17/4a23aedb-5b05-4399-9b4f-22e90c4b1256.html