function test(target){
function test2(start,str){
if(start == target)
return str;
else if(start > target)
return null;
else
return test2(start+5,"("+str+"+5)");
// ||test2(start*3,"("+str+"*3)");
// 采用注释内容可正常输出:(((1*3)+5)*3)
// ||这个运算符不是左边为true就不计算右边了吗,为什么会计算右边?
}
return test2(1,"1");
}
console.log(test(24));
1 回答
stone310
TA贡献361条经验 获得超191个赞
test(24)代入test2(start+5,"("+str+"+5)");这个算出来的结果是null,所以就计算右边,如果你改成 test(26),那么就会计算左边表达式
添加回答
举报
0/150
提交
取消