看了主页某高人整残了页面排版的闭包,
http://www.iteye.com/topic/1118236
看的我实在无语了,放出个简单的例子
稍微有点js基础的应该能看懂,不需要我多解释了~~
需要说的也就是js的执行需要加上() 表示function需要执行
再就是js是编译后执行,优先执行赋值初始化变量等操作,其次才是执行function
第一个就是因为变量i在初始化的时候已经通过 i++ 由0增长了 后面使用的时候就一直会是固定值
第二个是将值循环赋给一个新的变量,这样就不会造成全局使用一个变量
这个只能算是闭包的一个使用场景,更多的请继续度娘搜索
[color=red]
无语了,对li标签,使用code以后全都变成[ * ]了。。。
只好都改成div了
[/color]
http://www.iteye.com/topic/1118236
看的我实在无语了,放出个简单的例子
稍微有点js基础的应该能看懂,不需要我多解释了~~
需要说的也就是js的执行需要加上() 表示function需要执行
再就是js是编译后执行,优先执行赋值初始化变量等操作,其次才是执行function
第一个就是因为变量i在初始化的时候已经通过 i++ 由0增长了 后面使用的时候就一直会是固定值
第二个是将值循环赋给一个新的变量,这样就不会造成全局使用一个变量
这个只能算是闭包的一个使用场景,更多的请继续度娘搜索
<html>
<meta http-equiv="content-type" content="text/html; charset=GBK"/>
<body>
<div id="o1">
<div>点我啊,都是一样的结果</div>
<div>点我啊,都是一样的结果</div>
<div>点我啊,都是一样的结果</div>
<div>点我啊,都是一样的结果</div>
<div>点我啊,都是一样的结果</div>
<div>点我啊,都是一样的结果</div>
<div>点我啊,都是一样的结果</div>
<div>点我啊,都是一样的结果</div>
</div>
<br>
<div id="o2">
<div>点我啊</div>
<div>点我啊</div>
<div>点我啊</div>
<div>点我啊</div>
<div>点我啊</div>
<div>点我啊</div>
<div>点我啊</div>
<div>点我啊</div>
</div>
</body>
<script>
(function(){
var lis = document.getElementById("o1");
for(var i=0;i<lis.children.length;i++){
var s = i;
lis.children[i].onclick=function(){
alert(s);
}
}
})();
(function(){
var lis = document.getElementById("o2");
for(var i=0;i<lis.children.length;i++){
var s = i;
lis.children[i].onclick=function(x){
return function(){alert(x)}
}(s);
}
})();
</script>
</html>
[color=red]
无语了,对li标签,使用code以后全都变成[ * ]了。。。
只好都改成div了
[/color]