Ich habe diese Funktion oft benutzen: in $.each(Ojbect, function)
, sollte die Funktion für zwei Argumente erwarten:Warum funktioniert es, wenn ich eine No-Param-Funktion als Callback übergeben, die Argumente erwartet?
function (index, value) {...}
(pro jQuery API Dokument: enter link description here). Die meiste Zeit definiere ich meine Nicht-Arg-Funktion. Zum Beispiel, um nur den Wert auszugeben.
$.each([1,2,3], function(){
console.log($(this);
});
Also die $ .Each akzeptiert meine No-Arg-Funktion. Dies ist sehr praktisch im täglichen Gebrauch. Aber ich habe kein offizielles Dokument gefunden, das besagt, dass das OK ist. Nur um sicher zu sein, warum so etwas funktioniert?
Beachten Sie, dass jQuery dafür sorgt, dass "this" auf jedes Element im Array verweist. Wenn Sie das native '.forEach()' auf dem Array-Prototyp verwenden, tut es dies * nicht, so dass Ihr Callback nicht funktioniert. – Pointy