अगर मैं ऐसा करते हैं:स्थानीय जावास्क्रिप्ट scoping मुद्दा
var a = 0;
(function() {
var a = a; //want to make local a = global a
++a;
console.log("fn",a);
})();
console.log(a);
उत्पादन होता है:
fn NaN
0
क्यों a
स्वयं फ़ंक्शन को निष्पादित करने के अंदर NaN
बन जाता है?
मैं जानता हूँ कि यह ठीक काम करता है, तो मुझे क्या करना:
(function() {
var b = a;
++b;
console.log("fn",b); // fn 1
})();
लेकिन अगर मैं पहले संस्करण का रास्ता तय है, यह NaN
मुद्दा है।
ऐसा क्यों हो रहा है?
मुझे यकीन है कि क्यों यह है कि करता है, लेकिन मैं 'का उपयोग कर वर एक = window.a' की कोशिश की नहीं कर रहा हूँ और यह उपयुक्त तरीके से व्यवहार – Ibu
@Ibu हममम कि अजीब है ... – Neal
क्योंकि सभी वैश्विक चर खिड़की गुंजाइश – jagm