function addEvent(elem,type,handle){//节点,事件类型,函数 if(elem.addEventListener){ elem.addEventListener(type,handle,false); }else if(elem.attachEvent){//IE elem.attachEvent('on'+type,function(){ handle.call(elem);//改变this指向,this原本是指向window }) }else{ elem['on'+type] = handle; } }
//call,apply改变this的指向 //全局中的函数中的this都是指向全局的,即window 函数.call(指向,实参1,实参2.......) 函数.apply(指向,[实参1,实参2.......])call与apply的区别就是传参列表的不同,一个是直接传,一个是传数组