function test (x,y){
console.log(x,y)
if (x===1){
return y;
}
return this.fact(x-1 , y*x);
}
test(5,1);
第二次打印的是 4 ,5
按道理应该是 4, 4 啊
求大神解释
function test (x,y){
console.log(x,y)
if (x===1){
return y;
}
return this.fact(x-1 , y*x);
}
test(5,1);
第二次打印的是 4 ,5
按道理应该是 4, 4 啊
求大神解释
第一次Return前,x=5,y=1,
所以Return后,
x=5-1;
y=5*1
如果想要第二次打印4,4,可以这样改:
function test (x,y){
console.log(x,y)
if (x===1){
return y;
}
z=x-1;
return this.fact(z , y*z);
}
test(5,1);