Rumah > Soal Jawab > teks badan
window._ = {
VARSION:"0.1.0",
each:function(obj,iterator,context){
var index = 0;
try{
if(obj.forEach){
obj.forEach(iterator,context);
}else if(obj.length){
for( var i= 0; i<obj.length; i++){
iterator.call(context,obj[i],i);
}
}else if(obj.each){
obj.each(function(value){
iterator.call(context,value,index++)
});
}else{
var i = 0;
for(var key in obj){
var value = obj[key],
pair = [key,value];
pair.key = key;
pair.value = value;
iterator.call(context,pair,i++);
}
}
}catch(e){
console.log(e)
// if(e != "__break__") throw e;
}
return obj;
}
}
var arr = {
a:5,
b:6,
c:4
}
_.each(arr,function(a,b){
console.log(a)
console.log(b)
})
Img tidak boleh dimuat naik kerana kelajuan rangkaian Maaf
Saya ingin tahu apa fungsi khusus panggilan itu dalam kod ini
Apakah proses pelaksanaannya?
習慣沉默2017-05-19 10:39:03
Skop
call
是为了给你保证你提供了第三个参数的时候 callback
tidak tercemar.
_.each(arr, function (a, b) {
console.log(this); //window
})
_.each(arr, function (a, b) {
console.log(this); // arr
},arr)
Arahan pelaksanaan kod boleh debug
伊谢尔伦2017-05-19 10:39:03
iterator.call(context...
sama dengan mengikat ini pada fungsi iterator sebagai konteks
漂亮男人2017-05-19 10:39:03
Dalam iterator.call()
, iterator
ialah fungsi traversal yang diluluskan. Dalam kes ini, ia merujuk kepada fungsi tanpa nama: iterator.call()
中,iterator
是传入的遍历函数,具体到本例中,就是指匿名函数:
function(a, b) { console.log(a); console.log(b); }
因此,call 指的是 Function.prototype.call
。具体参见Function.prototype.call() - JavaScript | MDN
Function.prototype.call
的签名格式是:
func.call(thisArg, param1, param2, ...)
thisArg 用来改变函数内部 this
rrreee
Function.prototype.call
. Untuk butiran, lihat Function.prototype.call() - JavaScript |.
#🎜🎜#Format tandatangan Function.prototype.call
ialah: #🎜🎜#
rrreee
#🎜🎜#thisArg digunakan untuk menukar pengikatan penunjuk this
di dalam fungsi. #🎜🎜#阿神2017-05-19 10:39:03
panggilan menjadikan ini daripada fungsi yang ditentukan menghala ke objek yang sepadan.
Contoh di atas:
iterator.call(context,obj[i],i)//ini menunjukkan konteks, obj[i],i ialah parameter
Disarankan membacanya untuk memahami kod di atas http://www.liaoxuefeng.com/wi...