No-Block Level Scope – JavaScript में C, C++ व Java की तरह Block Level Scope नहीं होता, जहां Opening व Closing Curly Braces का Bracket ही किसी Variable का Scope होता है। जैसे-
[code] if (true) { var color = "blue"; } alert(color); // Output: "blue" [/code]
C, C++ व Java जैसी Languages में उपरोक्त Code के Execute होने पर if Statement के Execution के साथ ही color नाम का Variable Destroy हो जाता। लेकिन JavaScript में ये Variable Destroy नहीं होता, बल्कि हालांकि इस Variable को if Statement के Block में Define किया गया है, फिर भी ये Variable, Current Context में Add हो जाता है। इसलिए Function के अलावा अन्य Blocks में Create किया जाने वाला Variable, Code के Execute हो जाने के बाद भी Live रहता है और Current Context के Object की Property के रूप में Accessible रहते हैं।
इसीलिए जब हम किसी for Loop के अन्दर कोई Variable Declare करते हैं, तो अन्य Programming Languages में ये Variable Loop के Execution के बाद Destroy हो जाता है, लेकिन JavaScript में ये Variable Loop के Execution के बाद भी Alive व Accessible रहता है। जैसे-
[code] for (var i=0; i < 10; i++){ doSomething(i); } alert(i); // Output: 10 [/code]
इस Loop के अन्दर Create किया गया Variable i, Loop के बाहर भी Accessible है, इसीलिए i का मान undefined Display न होकर 10 Display हो रहा है, जो इस बात का संकेत है कि Loop के अन्दर Declare किया गया Variable, Loop के Termination के साथ Destroy नहीं हो रहा है। यानी JavaScript में अन्य Programming Languages की तरह Block Level Context नहीं होता, इसलिए Block Level Variables भी नहीं होते।
ये Article इस वेबसाईट पर Selling हेतु उपलब्ध EBook Advance JavaScript in Hindi से लिया गया है। इसलिए यदि ये Article आपके लिए उपयोगी रहा, तो निश्चित रूप से ये पुस्तक भी आपके लिए काफी उपयोगी साबित होगी।
Advance JavaScript in Hindi | Page: 669 | Format: PDF