Variable Declaration in JavaScript – जब किसी Variable को var Operator का प्रयोग करे Declare किया जाता है, तो वह Variable Automatically Current Context में Add हो जाता है। उदाहरण के लिए यदि किसी Function के अन्दर var Operator का प्रयोग करके कोई Variable Declare किया जाए, तो Create होने वाला Variable, Function के Current Context में Add हो जाता है क्योंकि किसी Function का Current Context उसका Local Context ही होता है।
जबकि किसी Variable को पहले Declare किए बिना सीधे ही उसे किसी Value से Initialize कर देने पर वह Variable Automatically Global Context में Add हो जाता है। इस प्रक्रिया को समझने के लिए हम निम्न उदाहरण देखते हैं:
[code] function add(num1, num2) { var sum = num1 + num2; // Local Variable return sum; } var result = add(21, 32); // 53 alert(sum); // Output: Causes an Error because sum is not a valid variable [/code]
उपरोक्त Code में एक add() नाम के एक Function में sum नाम का एक Local Variable Define किया गया है। जब ये Function दोनों Arguments के मानों को जोडकर Variable sum को Return करता है, तब Function के Local Context के Destroy होते ही, sum नाम का ये Variable भी Destroy हो जाता है, क्योंकि Function के अन्दर का कोई भी Variable, Function के बाहर Accessible नहीं होता।
फलस्वरूप जब हम Alert Box में sum की Value को Display करने की कोशिश करते हैं, तो एक Error Generate होता है कि sum नाम का Variable एक Valid Variable नहीं है, इसलिए इसके मान को Display नहीं किया जा सकता। जबकि यदि हम उपरोक्त Code में Define किए गए Function में ही sum Variable के साथ Associated var Operator को Remove करके निम्नानुसार Specify कर दें-
[code] function add(num1, num2) { sum = num1 + num2; // sum is in Global Context return sum; } var result = add(21, 32); //Output: 53 alert(sum); //Output: 53 [/code]
तो जैसाकि हम Output में देख सकते हैं कि इस बार Alert Box किसी तरह की Error Generate नहीं कर रहा है, जबकि हमने sum नाम के Variable को Function की Body में Declare नहीं किया है।
ऐसा इसीलिए हो रहा है कि जब हम किसी Function के अन्दर किसी Variable को var Operator का प्रयोग किए बिना सीधे ही किसी Value से Initialize कर देते हैं, तो वह Variable, Automatically Global Context में Add हो जाता है।
फलस्वरूप Function के Destroy हो जाने के बाद भी Function के Outside में sum नाम का Variable Available रहता है, जिसे बाद में जरूरत होने पर Access किया जा सकता है।
हालांकि JavaScript में किसी Variable को बिना Declare किए हुए Directly Initialize किया जा सकता है, लेकिन फिर भी हमें ऐसा नहीं करना चाहिए। अन्यथा कई बार हमें काफी Complex Bugs को Face करना पडता है।
ये Article इस वेबसाईट पर Selling हेतु उपलब्ध EBook Advance JavaScript in Hindi से लिया गया है। इसलिए यदि ये Article आपके लिए उपयोगी रहा, तो निश्चित रूप से ये पुस्तक भी आपके लिए काफी उपयोगी साबित होगी।
Advance JavaScript in Hindi | Page: 669 | Format: PDF