开发者社区> 问答> 正文

JS无干扰事件的小问题

<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title></title>
</head>
<body>
<input value="点击0" type="button"/>
<input value="点击1" type="button"/>
<input value="点击2" type="button"/>
<input value="点击3" type="button"/>
<input value="点击4" type="button"/>
<input value="点击5" type="button"/>
</body>
<script type="text/javascript">
    var s=document.getElementsByTagName('input'); //获取整个网页的标签
    window.onload=function(){
        for(var i=0;i< s.length;i++){
            s[i].onclick=(function(num){
                return function(){show(num)}
            })(i)
        }
    };
    function show(num){
        alert("你好,请"+num+"号嘉宾领奖")
    }
</script>
</html>

里面有一段代码看不懂

  for(var i=0;i< s.length;i++){
            s[i].onclick=(function(num){
                return function(){show(num)}
            })(i)
        }

看不明白, 那个(i)为什么放到最后面,i的值怎么传给num的?

展开
收起
小旋风柴进 2016-03-13 09:20:57 2000 0
1 条回答
写回答
取消 提交回答
  • ~funtion(xxx){

    }(x);
    这种叫做自执行函数

    2019-07-17 19:01:42
    赞同 展开评论 打赏
问答分类:
问答标签:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
JavaScript异步编程 立即下载
Delivering Javascript to World 立即下载
编程语言如何演化-以JS的private为例 立即下载