帮忙解释一下这段代码
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(); } };