幸福的小诗子 参考文章

JavaScript多元运算符

function test(p){
    var a=5,b=12;
    return p>1?p<b?p>b:p=6:p=3; // 这一行中出现了多个问号和冒号,看起来很乱怎么办呢
}

document.write(test(9));

实例 »

其实很简单,寻找到多元运算符的头 ? 和尾 : 就好办多了

就成了这样:

p>1?p<b?p>b:p=6:p=3

p>1? 整体 :p=3

1、当 p>1 时返回 p<b?p>b:p=6

  • 1.1、当 p<b 时返回 p>b
  • 1.2、当 p>=b 时返回 p=6

2、当 p<=1 是返回 p=3 所以先执行 1

3、实例中当 p=9 的时候,返回 p<b?p>b:p=6 接着执行 1.1,当 p=9<12 时,返回 p>b,即 9>12,条件不成立所以最终结果为 false。