Vor kurzem habe ich Dinge rekonstruiert und die Namenspace -Einstellungen begegnet. Ich suchte nach Wissen, fragte einige Experten und schrieb meine Erfahrungen auf.
Ich glaube, jeder weiß, dass das Fenster erstklassig ist, also werde ich hier kein Fenster schreiben, also werde ich es zuerst ignorieren
1: Über die Oberseite
Die Codekopie lautet wie folgt: var ns = ns || {};
Wenn Sie feststellen, dass es kein solches Objekt gibt, erstellen Sie automatisch ein neues Objekt (). Wenn es vorhanden ist, verwenden Sie dieses Objekt direkt, damit es nicht überschrieben wird.
2: Die zweite Stufe können natürlich auch die zweite Ebene unter der obersten Ebene ns erstellen, dh,,
Die Codekopie lautet wie folgt: ns.moduleClass = {};
Sie können sehen, dass eine Klasse unter NS erstellt wird, und Sie können natürlich weiterhin die Methoden in der Klasse erstellen, dh dies ist:
Die Codekopie lautet wie folgt: ns.moduleClass.method1 = function () {////};
3: Wie man Multi-Levels macht , wie z. B. com.qw.view. Ich möchte es in einen Namespace einstellen. Dadurch muss der Namespace für jeden von Punkt getrennten Namen festgelegt und in ein Objekt festgelegt werden.
Schauen wir uns ein Beispiel an und stellen Sie es unter Fenster ein:
Die Codekopie lautet wie folgt:
Funktionsnamespace (Sspace) {
var arr = sspace.split ('.'), i = 0, nameI;
var root = Fenster;
für (; namei = arr [i ++];) {
if (! root [namei]) {
root [nameI] = {};
}
root = root [nameI];
}
Wurzel zurückgeben;
}
Sie können sehen, dass es tatsächlich das ist, was ich oben erwähnt habe. Ich habe einen Traversal verwendet, um alle getrennten in Objekte einzustellen, damit jeder getrennt verwendet werden kann.
4: Listen Sie die häufig verwendeten , einfachen und schnellen Tipps zum Einstellen von Namespaces auf
Die Codekopie lautet wie folgt:
if (! window.ns) {
window.ns = {};
}
var ns;
if (typeof ns == "undefined") {
ns = {};
}
if (typeof ns.classname == "undefined") {
ns.className = {};
}