博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

js 事件代理

Posted on 2014-03-11 17:41  bw_0927  阅读(116)  评论(0)    收藏  举报

http://www.cnblogs.com/rubylouvre/archive/2009/08/09/1542174.html

 

function func1()

{

}

 

func1();   //无参数

func1(arg1);  //一个参数

func1(arg1, arg2);  //两个参数

都是对的

============

var delegate = function (client, clientMethod){

  return function() { return clientMethod.apply(client, arguments); }   //arguments指的是|

}                          ^______________________________________________________|

 

代理的使用:

var agentMethod = delegate(client, client.method)

agentMethod();   //arguments为空

==============apply解释======

clientMethod.apply(client, arguments);  //相当于直接调用clientMethod方法,只不过该方法内部的this指针是client对象

==================

用代理作用之一是实现隐藏,

第二个作用是避免函数在作为参数传递时,防止this指针的丢失,见

http://www.cnblogs.com/my_life/articles/2847375.html