मैं जावास्क्रिप्ट के लिए नया हूँ, और इस कोड को समझने में समस्या हो रही:गलतफहमी closures
function addProperty(o) {
var value;
o["get"] = function() { return value; }
o["set"] = function(v) { value = v; }
}
var a = {};
addProperty(a);
var b = {};
addProperty(b);
a.set(4);
b.set(5);
print("a is " + a.get() + "; b is " + b.get());
यह प्रिंट (v8/d8 में) a is 4; b is 5
। अगर मैं var value;
लाइन पर टिप्पणी करता हूं, तो मुझे a is 5; b is 5
मिलता है। 'मूल्य' वस्तु कहां है, और उनमें से दो क्यों हैं? धन्यवाद।
मुझे समझ में नहीं आता है कि "क्यों हैं उनमें से दो "प्रश्न का हिस्सा हैं। कृपया क्या आप स्पष्टीकरण दे सकते हैं? – slinzerthegod
ऑब्जेक्ट 'ए' के साथ एक मूल्य है, जिसमें पूर्णांक '4' होता है, और ऑब्जेक्ट 'बी' के साथ एक मूल्य होता है, जिसमें पूर्णांक '5' होता है। – EML