Para evitar sobrescribir y conflictos entre variables, se puede generar un espacio de nombres. El espacio de nombres es un prefijo especial, que se implementa a través de {} objetos en JS.
En diferentes funciones anónimas, se declara un espacio de nombres diferente de acuerdo con la función. Las propiedades del objeto global en cada función anónima no se cuelgan directamente en Global, sino que se cuelgan en el espacio de nombres de la función subanónima, como:
La copia del código es la siguiente:
<script type = "text/javaScript">
var global = {}
</script>
<script type = "text/javaScript">
(función(){
var a = 123, a1 = 256;
Global.a = {}
Global.a.str = a;
}) ();
</script>
<script type = "text/javaScript">
(función(){
var b1 = 123, b2 = 256;
Global.b = {}
Global.b.str = a;
}) ();
</script>
Si el programa en la misma función anónima es muy complejo y tiene muchos nombres de variables, el espacio de nombres se puede ampliar aún más para generar un espacio de nombres secundario:
La copia del código es la siguiente:
<script type = "text/javaScript">
var global = {}
</script>
<script type = "text/javaScript">
(función(){
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>
Dado que generar espacios de nombres es una función muy común, la función de generar espacios de nombres se puede definir aún más como una función para una fácil llamadas, como sigue:
La copia del código es la siguiente:
<script type = "text/javaScript">
var global = {}
Global.namespace = function (str) {
var arr = str.split ("."), o = global;
para (i = arr [0] == "global"? 1: 0; i <arr.length; i ++) {
o [arr [i]] = o [arr [i]] || {};
o = o [arr [i]];
}
}
</script>
Llamar a la operación específica del espacio de nombres:
La copia del código es la siguiente:
<script type = "text/javaScript">
// ================================================================
// Funcionar A
// ingeniería un
// correo electrónico: [email protected] msn: [email protected] "
// 2012-11-06
// ================================================================
(función(){
var a = 123, a1 = "hola mundo";
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;
}) ();
Del mismo modo, ya sea el desarrollo directo del equipo con varias personas o el trabajo en equipo indirecto con individuos, se requiere una buena capacidad de mantenimiento.
1. Agregue los comentarios del código necesario
2. Evite que JS sea conflictivo, evite la proliferación de variables globales y use el espacio de nombres de manera razonable