標準以外にJavascriptの変数キャプチャに関する明確な情報源はありますか(標準を読むのは面倒です)?
次のコードi
では、値によってコピーされます。
for (var i = 0; i < 10; i++)
{
(function (i)
{
process.nextTick(function ()
{
console.log(i)
})
}) (i)
}
したがって、1..10を出力します。inノードprocess.nextTick
のアナログです。setTimeout(f,0)
しかし、次のコードでは、私はコピーされていないようです:
for (var i = 0; i < 10; i++)
{
var j = i
process.nextTick(function ()
{
console.log(j)
})
}
910回印刷します。なんで?この具体的なキャプチャのケースを説明するよりも、リファレンス/一般的な記事に興味があります。