js里双间隔问号表达式,类似于A?B?C:D:E的表达式

看到标题后你可能想,这是个什么式子?

说实在的,我自己在网上也没搜到这个问题的直接答案。

这是我在调试js代码时碰到的,自己也疑惑了半天,以为这是什么自己没学过的语法。

其实很简单,首先可以把它拆成这样:A?        B?C:D        :        E

令中间最长部分为F,那么这个式子可写成:A?F:E

典型的c语言三目运算符。

令这个式子的值等于G,

那么G = A?B?C:D:E;

写成代码就是:

if(A==true)
{
    if(B==true)
    G = C;
    else
    G = D;
}
else
{
    G = E;
}
//G = A?B?C:D:E

参考资料:[Solved] Where do you put parentheses in the following javascript statement - CodeProject

如有错误,敬请指正,礼貌交流,感激不尽。

猜你喜欢

转载自blog.csdn.net/fly_view/article/details/128944353