मेरे पास जावास्क्रिप्ट स्कॉइंग के बारे में कुछ समझ है - कि भाषा में फ़ंक्शन-स्तरीय दायरा है और चर और फ़ंक्शन घोषणाएं उनके दायरे के शीर्ष पर फिसल गई हैं।जावास्क्रिप्ट स्कॉइंग के साथ भ्रम
इस कंसोल के लिए मान 1 लॉग: हालांकि, मैं क्यों कोड की निम्न दो टुकड़े विभिन्न मूल्यों लॉग ऑन को समझ नहीं सकता
var a = 1;
function b() {
a = 10;
return;
function a() {}
}
b();
console.log(a);
और रहस्यमय तरीके से, यह लॉग 10:
var a = 1;
function b() {
a = 10;
return;
}
b();
console.log(a);
तो हुड के नीचे क्या चल रहा है?
['सख्त उपयोग करें'] (http://stackoverflow.com/questions/1335851/) पहले उदाहरण की तरह एक फ़ंक्शन घोषित करने की अनुमति नहीं देगा, इसलिए शायद यह शुरू करने के लिए एक बहुत बुरा विचार है। – transistor09
दिलचस्प है लेकिन यह एक डिजाइन समस्या की तरह है। –