码迷,mamicode.com
首页 > 其他好文 > 详细

bind方法

时间:2017-02-24 12:29:34      阅读:188      评论:0      收藏:0      [点我收藏+]

标签:listener   html   assert   argument   调用   var   lis   ntb   改变   

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
</head>
<body>
    <button id="test">click me</button>
</body>
<script>
function bind(context,name){
    return function(){
        return context[name].apply(context,arguments);
  //用apply函数改变函数的上下文,apply函数的第一个参数就是我们需要的上下文对象。
    }
};
/*对比一下*/
//function bind(context){ 
  //self = this;  //保存this,即调用bind方法的目标函数
  //return function(){
    //  return self.apply(context,arguments);
  //};
//};


var button = {
    clicked: false,
    click: function(){
        this.clicked = true;
        console.assert(button.clicked,"The button has been clicked.");
        console.log(this);
    }
};
var elem = document.getElementById("test");
elem.addEventListener("click",bind(button,"click"),false);
//调用bind方法,bind方法的第一个参数就是我们需要的上下文对象;
//addEventListener()三个参数,分别是event,function,false
</script>
</html>

 

bind方法

标签:listener   html   assert   argument   调用   var   lis   ntb   改变   

原文地址:http://www.cnblogs.com/Jerry-spo/p/6437789.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!