JavaScript में फ़ंक्शन में ग्लोबल वेरिएबल
JavaScript में (अधिकांश अन्य भाषाओं में ऐसा नहीं होता) फ़ंक्शन के बाहर परिभाषित वेरिएबल, उस फ़ंक्शन के अंदर दिखाई देगी। ऐसे वेरिएबल को ग्लोबल वेरिएबल कहा जाता है। आइए एक उदाहरण देखें:
let num = 1; // फ़ंक्शन के बाहर वेरिएबल
function func() {
console.log(num); // वेरिएबल num फ़ंक्शन के अंदर दिखाई देती है
}
func(); // 1 आउटपुट करेगा
वास्तव में वेरिएबल को फ़ंक्शन की परिभाषा से पहले नहीं, बल्कि उसके कॉल से पहले परिभाषित किया जाना चाहिए:
function func() {
console.log(num);
}
let num = 1; // फ़ंक्शन के बाहर वेरिएबल
func(); // 1 आउटपुट करेगा
यदि वेरिएबल का मान बदलना है और उसके बाद
हर बार फ़ंक्शन को कॉल करना है - तो console.log हर
बार अलग-अलग परिणाम आउटपुट करेगा:
function func() {
console.log(num);
}
let num; // वेरिएबल घोषित करें
num = 1; // मान 1 सेट करें
func(); // 1 आउटपुट करेगा
num = 2; // मान 2 सेट करें
func(); // 2 आउटपुट करेगा
यदि हमारे पास कई फ़ंक्शन हैं, तो ग्लोबल वेरिएबल इनमें से प्रत्येक फ़ंक्शन में उपलब्ध होगी:
function func1() {
console.log(num);
}
function func2() {
console.log(num);
}
let num = 1;
func1(); // 1 आउटपुट करेगा
func2(); // 1 आउटपुट करेगा
यदि किसी एक फ़ंक्शन में ग्लोबल वेरिएबल में परिवर्तन होता है, तो यह वेरिएबल उन सभी फ़ंक्शन में बदल जाएगी जो इस वेरिएबल का उपयोग करते हैं:
function func1() {
console.log(num);
num++; // ग्लोबल वेरिएबल बदलें
}
function func2() {
console.log(num);
}
let num = 1;
func1(); // 1 आउटपुट करेगा
func2(); // 2 आउटपुट करेगा
चूंकि कोई भी फ़ंक्शन आसानी से ग्लोबल वेरिएबल को बदल सकता है, इसलिए उनका उपयोग ढूंढने में कठिन त्रुटियों का अड्डा बन जाता है। इस कारण से, ग्लोबल वेरिएबल के उपयोग को स्क्रिप्ट में न्यूनतम करने की आवश्यकता है। वांछनीय है कि या तो उनमें से कोई न हो या सबसे न्यूनतम संख्या हो।
बिना कोड चलाए निर्धारित करें कि कंसोल में क्या आउटपुट होगा:
let num = 1;
function func() {
console.log(num);
}
func();
बिना कोड चलाए निर्धारित करें कि कंसोल में क्या आउटपुट होगा:
let num = 1;
function func() {
console.log(num);
}
num = 2;
func();
बिना कोड चलाए निर्धारित करें कि कंसोल में क्या आउटपुट होगा:
function func() {
console.log(num);
}
let num;
num = 1;
func();
num = 2;
func();