自己实现的jQuery的each()源码:
jQuery.each = function(object, callback, args){
for(var i=0; i<object.length; i++){
callback.call(object[i],args);
}
return object;
}
理解这个,需要了解js的继承(面向对象的机制),写个小例子说明下:
function Student(number, name){
this.number = number;
this.name = name;
}
function UniversityStudent(number, name, score){
Student.apply(this,arguments);
this.score = score;
}
var US = new UniversityStudent("20122","小米",98);
//test
console.log(US.number + "\n" + US.name + "\n" + US.score);
说明一点:每一个函数都有一个特殊的参数arguments,利用它可以实现方法的重载(不另外说明)
上面用的是是apply(),如果使用call()该怎么实现?
function UniversityStudent(number, name, score){
Student.apply(this,number,name);
this.score = score;
}