3个回答
展开全部
首先,基本概念:
调用函数不占内存,一个函数只在内存中出现一次。函数里面用到的变量是占用内存的。
函数调用结束后内部变量全部会被释放,在内存中保存的有全局变量和函数返回值。
所以,针对你这个问题,内存够不够用,就看你这个定时settimeout函数执行的代码段是怎么修改全局变量和自身返回值的,如果一直是累加,早晚内存是不够用的。
对了,js还有一个主动回收内存的函数CollectGarbage(),提供在函数执行内部进行临时主动内存清理的功能。
调用函数不占内存,一个函数只在内存中出现一次。函数里面用到的变量是占用内存的。
函数调用结束后内部变量全部会被释放,在内存中保存的有全局变量和函数返回值。
所以,针对你这个问题,内存够不够用,就看你这个定时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);
}
来显示秒
外层函数一直没结束啊
展开全部
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>
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>
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
函数执行完会释放的,但是回收的时机不一定
追问
但是settimeout就在函数里 函数就一直没完
但是settimeout就在函数里 函数就一直没完
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询