Baru -baru ini, saya merekonstruksi berbagai hal dan menemukan pengaturan namespace. Saya mencari beberapa pengetahuan, bertanya kepada beberapa ahli, dan menuliskan pengalaman saya.
Saya yakin semua orang tahu bahwa jendela itu terkemuka, jadi saya tidak akan menulis jendela di sini, jadi saya akan mengabaikannya terlebih dahulu
1: Tentang bagian atas
Salinan kode adalah sebagai berikut: var ns = ns || {};
Dapat dilihat bahwa jika Anda menemukan bahwa tidak ada objek seperti itu, Anda akan secara otomatis membuat objek baru (); Jika ada, Anda akan menggunakan objek ini secara langsung, sehingga tidak akan ditimpa.
2: Level kedua , tentu saja, Anda juga dapat membuat level kedua di bawah NS tingkat atas, yaitu,
Salinan kode adalah sebagai berikut: ns.moduleClass = {};
Anda dapat melihat bahwa suatu kelas dibuat di bawah NS, dan tentu saja Anda dapat terus membuat metode di kelas, yaitu, ini adalah:
Salinan kode adalah sebagai berikut: ns.moduleClass.method1 = function () {////};
3: Cara melakukan multi-level , seperti com.qw.view. Saya ingin mengaturnya ke namespace. Ini membutuhkan pengaturan namespace untuk setiap nama yang dipisahkan titik dan mengaturnya menjadi objek.
Mari kita lihat contoh dan atur di bawah jendela:
Salinan kode adalah sebagai berikut:
fungsi namespace (sspace) {
var arr = sspace.split ('.'), i = 0, namei;
var root = window;
untuk (; nameI = arr [i ++];) {
if (! root [nameI]) {
root [nameI] = {};
}
root = root [nameI];
}
root root;
}
Anda dapat melihat bahwa memang itulah yang saya sebutkan di atas. Saya menggunakan traversal untuk mengatur semua yang terpisah menjadi objek, sehingga masing -masing terpisah dapat digunakan secara terpisah.
4: Sebutkan tips yang umum digunakan , sederhana dan cepat untuk mengatur ruang nama
Salinan kode adalah sebagai berikut:
if (! window.ns) {
window.ns = {};
}
var ns;
if (typeof ns == "tidak terdefinisi") {
ns = {};
}
if (typeof ns.classname == "tidak terdefinisi") {
ns.classname = {};
}