Um Überschreibungen und Konflikte zwischen Variablen zu vermeiden, kann ein Namespace generiert werden. Der Namespace ist ein spezielles Präfix, das über {} -Fjekte in JS implementiert wird.
In verschiedenen anonymen Funktionen wird ein anderer Namespace gemäß der Funktion deklariert. Die Eigenschaften des globalen Objekts in jeder anonymen Funktion hängen nicht direkt von global, sondern werden in den Namespace der subanonymen Funktion aufgehängt, wie z. B.:
Die Codekopie lautet wie folgt:
<script type = "text/javaScript">
var Global = {}
</script>
<script type = "text/javaScript">
(Funktion(){
var a = 123, a1 = 256;
Global.a = {}
Global.a.str = a;
}) ();
</script>
<script type = "text/javaScript">
(Funktion(){
var b1 = 123, B2 = 256;
Global.b = {}
Global.b.str = a;
}) ();
</script>
Wenn das Programm in derselben anonymen Funktion sehr komplex ist und viele variable Namen aufweist, kann der Namespace weiter erweitert werden, um einen sekundären Namespace zu generieren:
Die Codekopie lautet wie folgt:
<script type = "text/javaScript">
var Global = {}
</script>
<script type = "text/javaScript">
(Funktion(){
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>
Da das Generieren von Namespaces eine sehr häufige Funktion ist, kann die Funktion des Generierens von Namespaces wie folgt als Funktion zum einfachen Aufrufen definiert werden:
Die Codekopie lautet wie folgt:
<script type = "text/javaScript">
var Global = {}
Global.namespace = function (str) {
var arr = str.split ("."), o = global;
für (i = arr [0] == "global"? 1: 0; i <arr.length; i ++) {
o [arr [i]] = o [arr [i]] || {};
o = o [arr [i]];
}
}
</script>
Aufrufen des Namespace Spezifischen Betriebs:
Die Codekopie lautet wie folgt:
<script type = "text/javaScript">
// ==================================================================
// Funktion a
// Ingenieur a
// E -Mail: [email protected] MSN: [email protected] "
// 2012-11-06
// ==================================================================
(Funktion(){
var a = 123, a1 = "Hallo Welt";
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;
}) ();
In ähnlicher Weise ist eine direkte Teamentwicklung mit mehreren Personen oder indirekten Teamarbeit mit Einzelpersonen erforderlich, eine gute Wartbarkeit.
1. Fügen Sie die erforderlichen Code -Kommentare hinzu
2. Vermeiden Sie JS vor widersprüchlich, vermeiden Sie die Verbreitung globaler Variablen und verwenden Sie den Namespace vernünftigerweise