javascript递归的疑惑

hou1104 2009-08-18 11:24:34
和C不同
javascript中如果要用递归的话,似乎是不会保护现场,变量在子函数中更改了之后,母函数中相应的变量也发生了变化,不知道有没有比较好的解决这个问题的办法。

一段小程序说明这个问题

<html>
<body>
<script type="text/javascript">
n=0;
test(10);
function test(h)
{
a=h;
if(n==1)
{
return 0;
}
n++;
alert("oringinal a is " + a);
test(5);
alert("final a is" + a);

}
</script>
</body>
</html>
...全文
30 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
hookee 2009-08-18
  • 打赏
  • 举报
回复
局部变量加var

<html>
<body>
<script type="text/javascript">
n=0;
test(10);
function test(h)
{
var a=h;
if(n==1)
{
return 0;
}
n++;
alert("oringinal a is " + a);
test(5);
alert("final a is" + a);

}
</script>
</body>
</html>

87,902

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧