मुझे अपने मुद्दे पर एक सटीक मिलान नहीं मिला, हालांकि कई जावास्क्रिप्ट स्कॉइंग प्रश्न मौजूद हैं। प्रश्न के लिए मेरा वर्तमान कोड यहां है।जावास्क्रिप्ट स्कोपिंग भ्रम
var my_var = "blank";
var MyFunc = function() {
my_var = "one";
//var my_var = "two";
}
alert(my_var);
MyFunc();
alert(my_var);
जब मैं इस चलाने के लिए, मैं के साथ "रिक्त" सतर्क कर रहा हूँ और उसके बाद "एक" अपेक्षा के अनुरूप। हालांकि, अगर मैं उस रेखा को अनदेखा करता हूं, तो ऐसा लगता है।
var my_var = "blank";
var MyFunc = function() {
my_var = "one";
var my_var = "two";
}
alert(my_var);
MyFunc();
alert(my_var);
मैं साथ "रिक्त" सतर्क कर रहा हूँ और उसके बाद "रिक्त"। यह वही नहीं है जो मैं उम्मीद करता हूं और मुझे यह भ्रमित लगता है कि एक पंक्ति जोड़ने से व्यवहार दूर हो जाएगा। क्या कोई यहां समझा सकता है कि क्या हो रहा है? मैं इस व्यवहार को फ़ायरफ़ॉक्स और सफारी दोनों में देख रहा हूं।
समझाया। – jfriend00