में बंद करके परिवर्तनीय कैप्चर को समझना मानक के अलावा जावास्क्रिप्ट में परिवर्तनीय कैप्चर पर एक निश्चित स्रोत है (यह मानक पढ़ने के लिए दर्द है)?जावास्क्रिप्ट/नोड
निम्नलिखित कोड i
में मूल्य से कॉपी किया जाता है:
for (var i = 0; i < 10; i++)
{
(function (i)
{
process.nextTick(function()
{
console.log(i)
})
}) (i)
}
तो यह 1..10 प्रिंट करता है। process.nextTick
नोड में setTimeout(f,0)
का एक एनालॉग है।
लेकिन अगले कोड में मैं नहीं लगता है कॉपी करने के लिए:
for (var i = 0; i < 10; i++)
{
var j = i
process.nextTick(function()
{
console.log(j)
})
}
यह 9 10 बार प्रिंट करता है। क्यूं कर? कैप्चर करने के इस ठोस मामले को समझाने के बजाय मुझे संदर्भ/सामान्य लेख में अधिक दिलचस्पी है।
यह स्पष्ट नहीं है कि मैं क्यों j – nponeccop
@nponeccop के लिए एक नया गुंजाइश नहीं बना रहा हूं, जावास्क्रिप्ट समारोह गुंजाइश है। –
मैं टेबल के खिलाफ अपना सिर मार रहा हूं। यह नहीं पता था कि, यह माना जाता है कि यह सी ++ या पर्ल या हास्केल है :) आकर्षक – nponeccop