js 循环函数

发布网友

我来回答

2个回答

热心网友

js如下
<script>
function showCont()
{
var bt=document.getElementById("Play");
var s=document.getElementById("fla");
var f=document.getElementById("show");
if(s.style.display=="")
{
s.style.display="none";
f.style.display="";
bt.innerText="点击缩进全文";
}
else
{
s.style.display="";
f.style.display="none";
bt.innerText="点击展开全文";
}
}
</script>

【引申】:
1. 名叫 div 的变量有一个对 handler 的引用(因为 handler 是它的一个属性)
2. handler 也同样有一个对 div 的引用(因为 div 处于它的作用域内。这是js闭包的特性,函数内的代码可以引用函数外的变量)
3. 这就造成了循环引用,最后两个变量都不会被销毁,成了内存泄露
按照这个说法,像下面这样写代码就不会出现这种内存泄露了。
因为 div 变量不再处于 handler 函数的作用域之中。

热心网友

$(function(){
for(var i = 1; i <=5; i++){
$("#ser0"+i).click(function(){
dialog("客户经理-广州尚品网络科技有限公司","id:ser0"+i+"page","550px","550px","id");
}
}
})

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com