من أجل تجنب الكتابة والصراعات بين المتغيرات ، يمكن إنشاء مساحة الاسم. مساحة الاسم هي بادئة خاصة ، يتم تنفيذها من خلال {} كائنات في JS.
في وظائف مختلفة مجهولة ، يتم الإعلان عن مساحة اسم مختلفة وفقًا للوظيفة. لا يتم تعليق خصائص الكائن العالمي في كل وظيفة مجهولة المصدر بشكل مباشر على عالمي ، ولكن يتم تعليقها في مساحة اسم الوظيفة الفرعية ، مثل:
نسخة الكود كما يلي:
<script type = "text/javaScript">
var global = {}
</script>
<script type = "text/javaScript">
(وظيفة(){
var a = 123 ، a1 = 256 ؛
global.a = {}
Global.A.STR = A ؛
}) () ؛
</script>
<script type = "text/javaScript">
(وظيفة(){
var b1 = 123 ، b2 = 256 ؛
global.b = {}
Global.B.Str = A ؛
}) () ؛
</script>
إذا كان البرنامج في نفس الوظيفة المجهولة معقدًا للغاية ولديه العديد من الأسماء المتغيرة ، فيمكن توسيع مساحة الاسم لإنشاء مساحة اسم ثانوية:
نسخة الكود كما يلي:
<script type = "text/javaScript">
var global = {}
</script>
<script type = "text/javaScript">
(وظيفة(){
var a = 123 ، a1 = 256 ؛
global.a = {} ؛
global.a.cat = {} ؛
global.a.dog = {} ؛
global.a.cat.name = "mini" ؛
global.a.cat.move = function () {
}
Global.A.Dog.name = "mini" ؛
global.a.dog.move = function () {
}
}) () ؛
</script>
نظرًا لأن توليد مساحات الأسماء هي وظيفة شائعة جدًا ، يمكن تعريف وظيفة توليد مساحات الأسماء كدالة لسهولة الاتصال ، على النحو التالي:
نسخة الكود كما يلي:
<script type = "text/javaScript">
var global = {}
global.namespace = function (str) {
var arr = str.split (".") ، o = Global ؛
لـ (i = arr [0] == "Global"؟ 1: 0 ؛ i <arr.length ؛ i ++) {
o [arr [i]] = o [arr [i]] || {} ؛
o = o [arr [i]] ؛
}
}
</script>
استدعاء عملية المساحة المحددة:
نسخة الكود كما يلي:
<script type = "text/javaScript">
// ============================================================
// وظيفة أ
// مهندس أ
// البريد الإلكتروني: [email protected] msn: [email protected] "
// 2012-11-06
// ============================================================
(وظيفة(){
var a = 123 ، a1 = "Hello World" ؛
Global.NameSpace ("A.Cat") ؛
Global.NameSpace ("A.Dog") ؛
global.a.cat.name = "mini" ؛
global.a.cat.move = function () {
}
Global.A.Dog.name = "mini" ؛
global.a.dog.move = function () {
}
Global.A.STR = A ؛
Global.A.Str1 = A1 ؛
}) () ؛
وبالمثل ، سواء كان تطوير الفريق المباشر مع العديد من الأشخاص أو العمل الجماعي غير المباشر مع الأفراد ، يلزم الصيانة الجيدة.
1. إضافة تعليقات الرمز اللازم
2. حافظ على JS من التعارض ، وتجنب انتشار المتغيرات العالمية واستخدم مساحة الاسم بشكل معقول