4-5不知道如何写,求过程,求思路

4-5不知道如何写,求过程,求思路

4-5除了闭包还能怎么解决?

正在回答

登陆购买课程后可参与讨论,去登陆

4回答

思路:

(1)单击方法导致的循环问题。提示:单击方法在循环外面定义

(2)在循环中调用,并将被点的按钮的型号传进去

提示:每次进入一个新的作用域,都会创建一个用于搜索变量和函数的作用域链,搜索的顺序是沿着作用域链从当前作用域向外层作用域查找,直到全局作用域为止

参考:

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>变量、作用域</title>
</head>
<body>
    <button>1</button>
    <button>2</button>
    <button>3</button>
    <script type="text/javascript">
    var btns = document.getElementsByTagName('button');
    for (var i = 0; i < 3; i++) {
        (function(i) {
            btns[i].onclick = function() {
                alert(i + 1)
            }
        })(i)
    }
    </script>
</body>
</html>

祝学习愉快!

  • 白兔白不白 提问者 #1
    涨姿势了
    2017-09-26 22:08:29
  • 为什么这么写呢,不懂
    2017-11-18 17:01:15
  • 你是具体哪里不懂呢?如果有问题建议新建问题提问,在这里盖楼你不容因被发现哦~祝学习愉快~
    2017-11-19 14:35:02
Miss路 2017-11-20 18:43:08

(function(i){ })(i)这是匿名函数的格式,不会造成全局变量的污染。祝学习愉快!

卡布琦诺 2017-11-20 18:35:40

(function(i){})(i),这算是一个闭包,产生了闭包并且执行3次代码,希望可以帮到你~

qq_修炼者_0 2017-11-20 12:35:17

为什么加一个(function(i){ })(i) 就可以了,这段代码是什么意思啊?

问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星

相似问题

登录后可查看更多问答,登录/注册

进击JavaScript核心 2018
  • 参与学习       466    人
  • 提交作业       74    份
  • 解答问题       635    个

JavaScript不仅能实现静态页面到动态特效的转变,还能完成数据的动态交互,但是关于js到底功能有多强大,大家还是有所期待的,本路径将带你深入到js中,一一揭开JavaScript的神秘面纱。

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师