1.创建一个构造方法
function Slider() { this.initialize.apply(this,arguments); }
2.原型对象
Slider.prototype = { /*初始化*/ initialize:function (id) { var _this = this; }, /*绑定事件*/ addEvent:function (ele,type,fn) { if (ele.addEventListener){ ele.addEventListener(type,fn,false); }else { ele.attachEvent('on' + type , fn); } }, }
3.实例化对象
new Slider('wrapper');
4.分析
4-1:initialize方法的作用:
这里的构造函数就是initialize函数,而实际上这里的initialize函数只是声明,并没有实际的定义。 initialize函数的定义是在原型(prototype)中进行的。initialize只是你所声明的构造函数的名字,可以将任何名字定义为构造函数,当实例化对象时,就会执行所声明的构造函数。
4-2:apply方法的作用:
call和apply看做是某个对象的方法,目的是通过间接方式进行调用函数。call和apply的第一个实参是要调用函数的母对象,call方法是将所有参数罗列出来,而apply是将所有参数放在一个数组中。所以使用apply方法比较利于传递参数。