var a = 0;
function foo(x){
if(x > 0){foo(x-1);}
return a += x;
}
console.log(foo(5));
请问这个是如何执行的?
function foo(x){
if(x > 0){foo(x-1);}
return a += x;
}
console.log(foo(5));
请问这个是如何执行的?
解决方案 »
- JQ在单选按钮点击后,改变单选项的字体和背景,再在后面显示他选择内容
- jquery 插件autocomplete添加提示功能
- 关于多个文本框的复制
- 一般的登陆流程是怎样的啊?
- 用js如何获取asp.net中radiobuttonlist中的文本值?
- showModelessDialog返回值的问题
- 2个函数,执行的时候,出现个很小的错误,但是我解决不了了!
- javascript正则表达式--限定文本框只能输入2位数字,并且不能为02,
- 我刚学jb8,按照参考书上写'hello world'的开始编程,怎么出错!!!大家帮我!!!
- 可调整iframe的大小、移动位置、添加关闭按钮,如何实现呢
- IE6下div中用iframe空白的原因
- lhgdialog 加载页面问题
执行foo(5);进入if(x>0)的判断,为真,则执行foo(4);再进入if(x>0)的判断,为真,进入foo(3);……
直到执行foo(0);x>0的判断为假,执行【foo(0)内的】return a +=x; a= 0;
foo(0)函数执行完毕,则foo(1)的if(x>0)判断结束,执行【foo(1)内的】return a +=x; 返回a=1;
foo(1)函数执行完毕,则foo(2)的if(x>0)判断结束,执行【foo(2)内的】return a +=x; 返回a=3;
foo(2)函数执行完毕,则foo(3)的if(x>0)判断结束,执行【foo(3)内的】return a +=x; 返回a=6;
foo(3)函数执行完毕,则foo(4)的if(x>0)判断结束,执行【foo(4)内的】return a +=x; 返回a=10;
foo(4)函数执行完毕,则foo(5)的if(x>0)判断结束,执行【foo(5)内的】return a +=x; 返回a=15;
得值:15
希望对你有帮助