เมื่อเร็ว ๆ นี้ฉันสร้างสิ่งต่าง ๆ ขึ้นมาใหม่และพบการตั้งค่าเนมสเปซ ฉันค้นหาความรู้บางอย่างถามผู้เชี่ยวชาญบางคนและเขียนประสบการณ์ของฉัน
ฉันเชื่อว่าทุกคนรู้ว่าหน้าต่างนั้นยอดเยี่ยมดังนั้นฉันจะไม่เขียนหน้าต่างที่นี่ดังนั้นฉันจะไม่สนใจมันก่อน
1: เกี่ยวกับด้านบน
การคัดลอกรหัสมีดังนี้: var ns = ns || -
จะเห็นได้ว่าหากคุณพบว่าไม่มีวัตถุดังกล่าวคุณจะสร้างวัตถุใหม่ () โดยอัตโนมัติ หากมีคุณจะใช้วัตถุนี้โดยตรงเพื่อที่จะไม่ถูกเขียนทับ
2: ระดับที่สอง แน่นอนคุณยังสามารถสร้างระดับที่สองภายใต้ NS ระดับบนสุดนั่นคือ
การคัดลอกรหัสมีดังนี้: ns.moduleclass = {};
คุณจะเห็นว่าคลาสถูกสร้างขึ้นภายใต้ NS และแน่นอนว่าคุณสามารถสร้างวิธีการในชั้นเรียนต่อไปได้นั่นคือนี่คือ:
การคัดลอกรหัสมีดังนี้: ns.moduleclass.method1 = function () {////};
3: วิธีทำหลายระดับ เช่น com.qw.view ฉันต้องการตั้งเป็นเนมสเปซ สิ่งนี้ต้องมีการตั้งค่าเนมสเปซสำหรับชื่อที่คั่นด้วยจุดแต่ละจุดและตั้งค่าเป็นวัตถุ
ลองดูตัวอย่างและตั้งไว้ใต้หน้าต่าง:
การคัดลอกรหัสมีดังนี้:
ฟังก์ชั่นเนมสเปซ (sspace) {
var arr = sspace.split ('.'), i = 0, namei;
var root = window;
สำหรับ (; namei = arr [i ++];) {
if (! root [namei]) {
รูท [namei] = {};
-
root = root [namei];
-
คืนราก;
-
คุณจะเห็นว่ามันเป็นสิ่งที่ฉันกล่าวถึงข้างต้น ฉันใช้ traversal เพื่อตั้งค่าที่แยกทั้งหมดเป็นวัตถุเพื่อให้แต่ละอันแยกกันสามารถใช้แยกกันได้
4: แสดงรายการเคล็ดลับที่ใช้กันทั่วไป และรวดเร็วสำหรับการตั้งค่าเนมสเปซ
การคัดลอกรหัสมีดังนี้:
if (! window.ns) {
window.ns = {};
-
var ns;
if (typeof ns == "undefined") {
ns = {};
-
if (typeof ns.className == "undefined") {
ns.className = {};
-