<script type="text/javascript"> function a(){ return 3>3 ? 5>2 ? 1 : 2 :3; } var b = a(); console.log(b); //真 假 2 //真 真 1 //假 假 3 //假 真 3 </script>
表达式相当于:
return 3>3 ? (5>2 ? 1 : 2) :3; 表达式1?(表达式2):(表达式3); 相当于表达式2运用了三目运算符,且去掉了括号
代码意义:
相当于两个if...else判断,等价代码如下:
function a(){ var a; var b; if(5>2){ a = 1 }else{ a = 2; } if(3>3){ b = a; }else{ b = 3; } return b; }
原文:http://my.oschina.net/u/861926/blog/467234