मैं इस कोड पर EaselJS लाइब्रेरी के लिए उदाहरण में कैम करता हूं - यह क्या करता है यह पूरे createjs लाइब्रेरी का नामस्थान "विंडो" में निर्दिष्ट करता है।विंडो में जावास्क्रिप्ट नेमस्पेस सेट करें: बुरा विचार? या शानदार?
<script>
var createjs = window;
</script>
मेरा प्रश्न यह है: खिड़की करने के लिए एक पुस्तकालय एक बहुत गूंगा विचार का नाम स्थान की स्थापना कर रहा है? क्या यह सिर्फ नामांकित वैरिएबल को अचानक वैश्विक स्कोप्ड बनाकर नामस्थान का उपयोग करने के पूरे बिंदु से छुटकारा नहीं पाता है?
एकमात्र लाभ जो मैं देख सकता हूं वह आपको अपनी वस्तुओं के लिए छोटे नियंत्रकों को लिखने दे रहा है।
stage = new Stage(canvas);
के बजाय: उदाहरण करके लिखने के लिए
stage = new createjs.Stage(canvas);
इस एक बुरा विचार है, या है किसी भी तरह शानदार है, या बस कोई हानि पहुंचाए बिना विचित्र है?
यह आपको 'createjs' के दायरे को बदलने की अनुमति दे सकता है। मैंने कभी ऐसा नहीं देखा है। – Blender
यदि वैश्विक नहीं है तो आप इसे और कैसे बेनकाब करने जा रहे हैं? –
@ user1689607 - यह एक नामस्थान है। मेरी समझ यह है कि आप इसे वैश्विक वस्तु के रूप में बेनकाब नहीं करना चाहते हैं। यही कारण है कि यह मौजूद है। परिवर्तनीय नामकरण टकराव के परिवर्तन को कम करने के लिए। लेकिन मुझे यकीन नहीं है: इसलिए सवाल। –