用用匿名函数和闭包加apply强制待定函数调用时使用特定上下文

<button id="test">点我</button>
<script>
 var button={
     clicked:false,
     click:function(){
         debugger;
        this.clicked=true;
        console.assert(!(button.clicked),"The button has been clicked");
     }
 }
 var elem=document.getElementById("test");
//error
//elem.addEventListener("click",button.click,false); elem.addEventListener(
"click",bind(button,"click"),false); function bind(context,name){ return function(){ return context[name].apply(context,arguments); }; }
原文地址:https://www.cnblogs.com/gaocong/p/6626355.html