读书人

帮忙解释一下这段代码,该怎么解决

发布时间: 2012-04-02 19:58:59 作者: rapoo

帮忙解释一下这段代码

JScript code
var attEventList = function(){                    this.eventList = [];};attEventList.prototype = {        processTime : 20,    add : function(fn,context,arrParam){            this.eventList.push(            {                fn : fn,                context : context,    //这里干嘛用的?                param : arrParam    //这里干嘛用的?            }        );        },    start : function(){                var that = this;        setTimeout(function(){            that.process();            },that.processTime);            },    process : function(){            var ev = this.eventList.shift();    //这里干嘛用的?        if(!ev)        {            return;        }        ev.fn.apply(ev.context,ev.param);    //这里干嘛用的?        ev = null;    //这里干嘛用的,为什么要这么做?        this.start();        }    };


求指点谢谢。。。。。。。

[解决办法]
attEventList.prototype = {

processTime : 20,
add : function(fn,context,arrParam){ //

this.eventList.push(
{
fn : fn,
context : context, //函数内部的代码
param : arrParam // 这个是参数,也就是把arrParam覆值把param
}
);

},



var ev = this.eventList.shift(); //这里干嘛的?//这个是移除这个eventList的事件


[解决办法]
我相信你没提的地方你都懂的,就不赘述了

context : context, //这里干嘛用的?
//传参赋值

param : arrParam //这里干嘛用的?
//传参赋值

var ev = this.eventList.shift(); //这里干嘛用的?
//shift()数组的方法
//获取数组eventList的最前一个元素,并赋值给 ev

ev.fn.apply(ev.context,ev.param); //这里干嘛用的?
//apply(o,[])函数的方法
//令ev的属性 context 调用 fn 并传参 param

ev = null; //这里干嘛用的,为什么要这么做?
//释放指针

读书人网 >JavaScript

热点推荐