功能:
var Q = {
each:function(func){
if(func && typeof func == 'function'){
var len = this.length;
for(i=0;i<len;i++){
this[i];
}
}
}
};
如何在上面的示例中编写一个回调函数,以便jQuery之类的函数可以在for loop
EX:
_$('element').each(function(n,i){
if(i==3){
_$(this[i]).hide();
}
});
然后可以进一步发展的其他实例。我知道我可以通过设置
来编写回调函数功能:
var Q = {
each:function(func){
if(func && typeof func == 'function'){
var len = this.length;
for(i=0;i<len;i++){
this[i];
//func(); OR func.call(this,[i,n]);
}
}
}
};
没有使用申请或打电话非常诚实地说文档现在有点难以理解。我相信我的呼叫功能写得正确。
答案 0 :(得分:0)
当我继续练习时,我已经想出如何简单地写这个。
var Q = {
each:function(func){
if(func && typeof func == 'function'){
var len = this.length;
for(i=0;i<len;i++){
func.call(this,i,this[i]);
}
}
}
};
然后可以写成
Q.each(function(i,x){
if(x.id=="someRandomID" || i = 4){
this.style.display="none";
}
});
虽然我知道使用call或apply我们保留this
运算符,但我无法给出调用正在进行的具体解释。