js 里的 settimeout函数

不停地调用函数内存不会不够吗?是怎样释放内存的?... 不停地调用函数 内存不会不够吗?
是怎样释放内存的?
展开
 我来答
raycar0524
2013-06-20 · TA获得超过4683个赞
知道小有建树答主
回答量:812
采纳率:0%
帮助的人:621万
展开全部
首先,基本概念:
调用函数不占内存,一个函数只在内存中出现一次。函数里面用到的变量是占用内存的。
函数调用结束后内部变量全部会被释放,在内存中保存的有全局变量和函数返回值。
所以,针对你这个问题,内存够不够用,就看你这个定时settimeout函数执行的代码段是怎么修改全局变量和自身返回值的,如果一直是累加,早晚内存是不够用的。
对了,js还有一个主动回收内存的函数CollectGarbage(),提供在函数执行内部进行临时主动内存清理的功能。
更多追问追答
追问
比如:
function f(){
k=new Date();
document.write(k.getSeconds();
setTimeout(f(),1000);
}
来显示秒
外层函数一直没结束啊
比如:
function f(){
k=new Date();
document.write(k.getSeconds();
setTimeout(f(),1000);
}
来显示秒
外层函数一直没结束啊
莘赡05V
2015-06-18 · 知道合伙人软件行家
莘赡05V
知道合伙人软件行家
采纳数:1397 获赞数:3710
毕业安徽理工大学

向TA提问 私信TA
展开全部
setTimeout(code,millisec)
var t = setTimeout("javascript语句", 毫秒)
setTimeout() 方法会返回某个值。在上面的语句中,值被储存在名为 t 的变量中。假如你希望取消这个 setTimeout(),你可以使用这个变量名来指定它。
setTimeout() 的第一个参数是含有 JavaScript 语句的字符串。这个语句可能诸如 "alert('5 seconds!')",或者对函数的调用,诸如 alertMsg()"。
第二个参数指示从当前起多少毫秒后执行第一个参数
参数
code (必需):要调用的函数后要执行的 JavaScript 代码串。
millisec(必需):在执行代码前需等待的毫秒数。
提示
setTimeout() 只执行 code 一次。如果要多次调用,请使用 setInterval() 或者让 code 自身再次调用 setTimeout()。
实例
实例1:
<html>
<head>
<script type="text/javascript">
function timedMsg()
{
var t=setTimeout("alert('5 seconds!')",5000)
}
</script>
</head>
<body>
<form>
<input type="button" value="Display timed alertbox!" onClick="timedMsg()">
</form>
<p>Click on the button above. An alert box will be displayed after 5 seconds.</p>
</body>
</html>
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
lkiarest
2013-06-20 · TA获得超过543个赞
知道小有建树答主
回答量:761
采纳率:100%
帮助的人:403万
展开全部
函数执行完会释放的,但是回收的时机不一定
追问
但是settimeout就在函数里 函数就一直没完
但是settimeout就在函数里 函数就一直没完
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式