Gibt es eine definitive Quelle für die Variablenerfassung in Javascript neben dem Standard (es ist ein Schmerz, den Standard zu lesen)?Verstehen der variablen Erfassung durch Schließungen in Javascript/Knoten
Im folgenden Code wird i
von Wert kopiert:
for (var i = 0; i < 10; i++)
{
(function (i)
{
process.nextTick(function()
{
console.log(i)
})
}) (i)
}
druckt So 1..10. process.nextTick
ist ein Analogon von setTimeout(f,0)
in Knoten. Er druckt 9 10 mal
for (var i = 0; i < 10; i++)
{
var j = i
process.nextTick(function()
{
console.log(j)
})
}
:
Aber im nächsten Code i scheint nicht kopiert werden. Warum? Ich interessiere mich mehr für einen Referenz-/allgemeinen Artikel als für die Erläuterung dieses konkreten Falles der Erfassung.
Es ist nicht klar, warum ich nicht einen neuen Bereich für j – nponeccop
@nponeccop erstellen, ist Javascript Funktionsumfang. –
Ich schlage meinen Kopf gegen den Tisch. Wusste das nicht, angenommen, es ist C++ oder Perl oder Haskell :) Faszinierend – nponeccop