js三元表达式使用方法概述

表达式 (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();

 

 

 

 

 

转至https://www.cnblogs.com/sxz2008/p/6432290.html

你可能感兴趣的:(js,三元表达式)