表达式 (expr1) ? (expr2) : (expr3)
在 expr1 求值为 TRUE 时的值为 expr2,在 expr1 求值为 FALSE 时的值为 expr3。
类似于java 的if
if (true) {
}else{
}
日常中经常会有这样的 if else 判断,特别是嵌套比较多的时候 用三元是比较和谐的,可以让你的代码看起来更加清爽,结构清晰。
稍微聪明点的用法
通过不断的变化,可以衍生出很多三元的用法
代码如下:
1、flag ? $('body').addClass('hover') : $('body').removeClass('hover') ;
2、$('.item')[ flag ? 'addClass' : 'removeClass']('hover')
上面的代码看着比较困惑。因为当flag = true 的时候 ,代码就变成以下代码:
代码如下:
$('.item')['addClass']('hover')
这样写法等同于。
代码如下:
$('.item').addClass('hover')
再升华一下
可以根据需要来调用自己想要的function来处理更多的事情。
function a(){
do something
}
function b(){
do something
}
flag ? a() : b();
3039

被折叠的 条评论
为什么被折叠?



