请老师检查 是不是有瑕疵

请老师检查 是不是有瑕疵

<!DOCTYPE html>

<html lang="en">

  <head>

    <meta charset="UTF-8" />

    <title>2-1</title>

    <style>

      /*补充代码*/

      li {

        cursor: pointer;

      }

    </style>

  </head>

  <body>

    <!-- 补充代码 -->

    <ul>

      <li>0</li>

      <li>1</li>

    </ul>

    <script>

      var li = document.getElementsByTagName('li');

      for (var i = 0, len = li.length; i < len; i++) {

        (function(i) {

          // 补充代码

          console.log(i);

          li[i].onclick = function() {

            console.log(li[i]);

            alert(i);

          };

        })(i);

      }

    </script>

  </body>

</html>



正在回答

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

2回答

你好同学,效果实现正确,没有瑕疵。另外,这里加return多余,因为return是给函数设置返回值的,这样调用的时候会返回一个结果。这里用不着返回值,所以不用加。

祝学习愉快,望采纳。

提问者 慕前端2064318 2019-10-21 13:51:13

第一步:for循环内的函数是(FN)(i)形式

第二步:是函数的自我执行,同时将索引I传入函数中

第三步:函数内部执行时出现绑定事件,直接弹出索引;

完成

有个问题,我没有加return  中间有影响吗? 如果要加return的话 是不是这样加

return   li[i].onclick = function() {

                console.log(li[i]);

               alert(i);

               };


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

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

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

0 星
组件化思想开发电商网页 18版
  • 参与学习           人
  • 提交作业       467    份
  • 解答问题       4826    个

本路径带你通过系统学习HTML5、JavaScript、jQuery的进阶知识,不仅如此,还会学习如何利用组件化的思想来开发网页,知识点+案例,使得所学可以更好的得到实践。

了解课程
请稍等 ...
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

在线咨询

领取优惠

免费试听

领取大纲

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