JavaScript中三元表达式的详细解释
程序员文章站
2022-06-13 15:10:15
三元表达式的基本格式:布尔表达式?语句1:语句2
简单解释:如果布尔表达式返回结果为真就执行语句1,如果布尔表达式返回结果为假就执行语句2。
但是在实际应用中并没有这么简单,还是有些需要注意的地方,...
三元表达式的基本格式:布尔表达式?语句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>=60fun:func; function fun(){ alert(1); } function func(){ alert(2); }
5,当语句1和2需要执行多条语句时,语句间可用逗号隔开,并用括号包裹语句。
如下:
true(alert(1),console.log(2)):alert(3)