详细解释JavaScript中三元表达式

三元表达式的基本格式:布尔表达式?语句1:语句2

简单解释:如果布尔表达式返回结果为真就执行语句1,如果布尔表达式返回结果为假就执行语句2。


但是在实际应用中并没有这么简单,还是有些需要注意的地方,

比如布尔表达式只能是布尔表达式吗?语句1和语句2中有多条语句需要执行又怎么办?等。


鉴于以上细节问题,我总结了几条便于使用三元表达式应该熟知的知识点:


1,布尔表达式的值或者返回值是计算值。

比如1==1返回true,null返回false,parseInt(4)%2==0返回true。


2,布尔表达式可以是函数,但要注意,函数必须是调用状态或者是匿名函数的立即执行状态,且函数的返回值要满足知识点1。
比如:匿名函数的立即执行状态。
(function(){
    if(1===1){
        return true;
    }else{
        return false;
    }
}())?console.log(true):console.log(false)


3,语句1和语句2可以有返回值,也可以没有返回值。如果有返回值,可以如下来保存返回值:

var grade=80;
var str =grade>=60?'及格':'不及格';

这样str就保存了“及格”值。


4,语句1和2也可以是函数,但得特别注意函数是否是调用状态或者匿名函数立即执行状态。
如下这段代码会返回一段代码段,而不是弹窗显示1或2.

var grade=80;
var f = grade>=60?fun:func;
function fun(){
alert(1);
}
function func(){
alert(2);
}


5,当语句1和2需要执行多条语句时,语句间可用逗号隔开,并用括号包裹语句。

如下:
true?(alert(1),console.log(2)):alert(3)


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值