변수 간의 덮어 쓰기와 충돌을 피하기 위해 네임 스페이스를 생성 할 수 있습니다. 네임 스페이스는 JS의 {} 개체를 통해 구현되는 특수 접두사입니다.
다른 익명 함수에서는 기능에 따라 다른 네임 스페이스가 선언됩니다. 각 익명 함수에서 글로벌 객체의 속성은 글로벌에 직접 매달리지 않지만 다음과 같은 하위 표정 함수의 네임 스페이스에 매달려 있습니다.
코드 사본은 다음과 같습니다.
<script type = "text/javaScript">
var global = {}
</스크립트>
<script type = "text/javaScript">
(기능(){
var a = 123, a1 = 256;
Global.a = {}
Global.a.str = a;
}) ();
</스크립트>
<script type = "text/javaScript">
(기능(){
var b1 = 123, b2 = 256;
Global.b = {}
Global.b.str = a;
}) ();
</스크립트>
동일한 익명 함수의 프로그램이 매우 복잡하고 많은 변수 이름이있는 경우 네임 스페이스를 더 확장하여 보조 네임 스페이스를 생성 할 수 있습니다.
코드 사본은 다음과 같습니다.
<script type = "text/javaScript">
var global = {}
</스크립트>
<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 type = "text/javaScript">
var global = {}
global.namespace = function (str) {
var arr = str.split ( "."), o = global;
for (i = arr [0] == "global"? 1 : 0; i <arr.length; i ++) {
o [arr [i]] = o [arr [i]] || {};
o = O [ARR [i]];
}
}
</스크립트>
네임 스페이스 특정 작업 호출 :
코드 사본은 다음과 같습니다.
<script type = "text/javaScript">
// =========================================================================
// 함수 a
// 엔지니어 a
// 이메일 : [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.