怎么在三元运算符中嵌套if语句

JavaScript013

怎么在三元运算符中嵌套if语句,第1张

三元运算符中是可以嵌套的:

document.write(confirm('结婚了吗?')?(confirm('有孩子了吗?')?'已结婚且有孩子':('已结婚但还没孩子,准备在这个时间要孩子:'+prompt('什么时候要孩子?'))):('没结婚,准备在这个时间结婚:'+prompt('什么时候结婚?')))

但是如果嵌套比较复杂的话,建议还是用if语句来写:

if(confirm('结婚了吗?')){

   if(confirm('有孩子了吗?')){

      document.write('已结婚且有孩子')

   }else{

      document.write('已结婚但还没孩子,准备在这个时间要孩子:'+prompt('什么时候要孩子?'))

   }

}else{

   document.write('没结婚,准备在这个时间结婚:'+prompt('什么时候结婚?'))

}

Change(a,b)的值直接套用方法就知道,比较容易(5)

至于Change(A(a),B(b)):分布计算:

A(a):a=2

调用A方法后返回的是4!

PS:!是取反的意思。!针对bool类型有用,反正(针对非bool类型)均返回false,这里传入A方法的参数a的数字,非bool类型。所以这里返回的4.(可以简单的测试一下,alert(!12),会弹出false)

B(b):b=3

调用B方法后返回的是6!

PS:b<3?

Math.pow(3,b):2*b)==》b<3?询问b是否小于3(这里b==3),是false,执行2*b。所以是6

Change(A(a),B(b))=4+6

PS:

针对三元运算符a>b?a:b这里a和b不仅仅限制于单个数字(或bool),也可以是一个可以执行的方法。或嵌套三元运算符(a>b?(a>c?a:c):(a<d?a:d)或嵌套更深)

像你这个题目缺少条件,即判断不是你需要的时候返回什么值?

下面假设没有你需要的值就返回no,具体三元运算符嵌套如下:

Test t = new Test()

t.str == "111"? "11":t.str == "222"? "22":t.str=="333"? "33":"no";

希望采纳哦