美文网首页
前端面试题

前端面试题

作者: 尼禄祭 | 来源:发表于2019-05-10 15:46 被阅读0次

    刷题累积

    1.以下代码运行结果是?

    <html>
    <body>
    <button id="button1">Button1</button>
    <button id="button2">Button2</button>
    <button id="button3">Button3</button>
    <script>
    function buttonInit(){
        for(var i=1;i<4;i++){
            var b=document.getElementById("button"+i);
            b.addEventListener("click",function(){ alert("Button"+i);},false);
        }
    }
    window.onload=buttonInit;
    </script>
    </body>
    </html>
    

    点击每个button都会弹出“button4”
    解答:
    1.function中的function 称为闭包(有权访问另一个函数作用域中变量的函数)
    2.闭包(每个点击函数)的作用域链中都指向着包含函数(buttonInit)的活动对象(i)
    根据作用域链这种机制总结出:闭包只能取得包含函数中任何变量的最后一个值


    相关文章

      网友评论

          本文标题:前端面试题

          本文链接:https://www.haomeiwen.com/subject/vhmaoqtx.html