请问递归函数怎么不用全局变量保存运行时信息?

vanxining 2009-07-31 09:40:17
我记得好像在c中用static **这样的语句可以定义一个在这个递归函数中连续可用的静态变量。可以在js中做到吗?
...全文
169 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
toury 2009-07-31
  • 打赏
  • 举报
回复
知道JS怎么定义变量的吗?用var 。
var就是英文“变体”的缩写,所以定义变量时不会有C里面的那些int之类的明确类型定义,而通通都是var.
所以很遗憾,static静态定义也不可能了。

不过
function add()
{//第一层
a=0;//这样就直接定义了一个数字类型的全局变量(或者在函数外用 var a=0定义)。
//权且弥补一下无法使用static的遗憾
.....
add()//第二层
}
vanxining 2009-07-31
  • 打赏
  • 举报
回复
是啊,我是说不用这样子可以吗?就像C里面:
int add()
{//第一层
static int a,,,,,
.....
add()//第二层
}
好像这样那个a的内容进入第二层时仍然保持和第一层一样。
ivws_19 2009-07-31
  • 打赏
  • 举报
回复
在函数体外定义一个变量
var a=...;
function xxx(){
...
}
楼主是这意思么

87,910

社区成员

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

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