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

博主在调试js代码时遇到一个式子,网上未搜到直接答案。经分析,可将该式子A? B?C:D : E拆分为A?F:E,这是典型的c语言三目运算符,还给出了代码示例。

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

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

这是我在调试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

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

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值