เพื่อหลีกเลี่ยงการเขียนทับและความขัดแย้งระหว่างตัวแปรสามารถสร้างเนมสเปซได้ เนมสเปซเป็นคำนำหน้าพิเศษซึ่งถูกนำไปใช้ผ่านวัตถุ {} ใน JS
ในฟังก์ชั่นที่ไม่ระบุชื่อที่แตกต่างกันจะมีการประกาศเนมสเปซที่แตกต่างกันตามฟังก์ชั่น คุณสมบัติของวัตถุระดับโลกในแต่ละฟังก์ชันที่ไม่ระบุชื่อนั้นไม่ได้ถูกแขวนอยู่บนทั่วโลกโดยตรง แต่ถูกแขวนไว้ในเนมสเปซของฟังก์ชันย่อยที่ไม่ระบุชื่อเช่น::
การคัดลอกรหัสมีดังนี้:
<script type = "text/javascript">
var global = {}
</script>
<script type = "text/javascript">
(การทำงาน(){
var a = 123, a1 = 256;
global.a = {}
global.a.str = a;
-
</script>
<script type = "text/javascript">
(การทำงาน(){
var b1 = 123, b2 = 256;
global.b = {}
global.b.str = a;
-
</script>
หากโปรแกรมในฟังก์ชันที่ไม่ระบุชื่อเดียวกันนั้นซับซ้อนมากและมีชื่อตัวแปรมากมายเนมสเปซสามารถขยายเพิ่มเติมเพื่อสร้างเนมสเปซรอง:
การคัดลอกรหัสมีดังนี้:
<script type = "text/javascript">
var global = {}
</script>
<script type = "text/javascript">
(การทำงาน(){
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>
เนื่องจากการสร้างเนมสเปซเป็นฟังก์ชั่นที่พบบ่อยมากฟังก์ชั่นของการสร้างเนมสเปซสามารถกำหนดเพิ่มเติมเป็นฟังก์ชั่นสำหรับการโทรได้ง่ายดังนี้:
การคัดลอกรหัสมีดังนี้:
<script type = "text/javascript">
var global = {}
global.namespace = function (str) {
var arr = str.split ("."), o = global;
สำหรับ (i = arr [0] == "global"? 1: 0; i <arr.length; i ++) {
o [arr [i]] = o [arr [i]] || -
o = o [arr [i]];
-
-
</script>
เรียกการดำเนินการเฉพาะเนมสเปซ:
การคัดลอกรหัสมีดังนี้:
<script type = "text/javascript">
-
// ฟังก์ชั่นก
// วิศวกรก
// อีเมล: [email protected] msn: [email protected] "
// 2012-11-06
-
(การทำงาน(){
var a = 123, a1 = "Hello World";
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;
-
ในทำนองเดียวกันไม่ว่าจะเป็นการพัฒนาทีมโดยตรงกับคนหลายคนหรือการทำงานเป็นทีมทางอ้อมกับบุคคลจำเป็นต้องมีการบำรุงรักษาที่ดี
1. เพิ่มความคิดเห็นรหัสที่จำเป็น
2. ป้องกัน JS จากความขัดแย้งหลีกเลี่ยงการเพิ่มจำนวนตัวแปรทั่วโลกและใช้เนมสเปซอย่างสมเหตุสมผล