2011-03-06 7 views
2

저는 javascript 네임 스페이스에 익숙하지 않습니다. 네임 스페이스 내에서 다소 깊이있는 것을 발견했지만 네임 스페이스 내에서 동일한 일반 네임 스페이스의 다른 객체로 이동하는 방법을 찾을 수 없습니다. 그렇게 할 수있는 방법이JavaScript : 네임 스페이스 내에서 네임 스페이스를 탐색/탐색 하시겠습니까?

$.fileUploading = { 
    images: { 
    settings: { 
     // How do you do this? 
     bing_bong: find.a.way.to.functionOne 
    }, 
    functionOne: function() { return "Rock!"; } 
    } 
} 

있습니까 : 그것은 가장 아래의 코드에 의해 기술이야?

답변

1

네임 스페이스는 개체의 속성 일 뿐이므로 속성에서 개체가 속한 개체를 찾을 방법이 없습니다. 간단한 이유는 동일한 속성이 여러 개체에 나타날 수 있기 때문입니다.

네임 스페이스는 안정적이고 상수이기 때문에 전체를 참조하는 데 문제가 없습니다. 그러나 동일한 이름을 여러 번 액세스해야하는 경우 변수에 할당하여 조금 더 쉽게 만들 수 있습니다.

var my_ns = $.fileUploading; 
1

이 작동합니다 : 또한

$.fileUploading = { 
    images: { 
    settings: {}, 
    functionOne: function() { return "Rock!"; } 
    } 
}; 

$.fileUploading.images.settings.bing_bong = $.fileUploading.images.functionOne; 

이를 :

function f() { return "Rock!"; } 

$.fileUploading = { 
    images: { 
    settings: { 
     // How do you do this? 
     bing_bong: f 
    }, 
    functionOne: f 
    } 
}; 
+0

이 문제를 해결 받고 방식으로 작동합니다. :) 내가 물었던 질문에 대한 대답이기 때문에 나는 다른 하나를 골랐다. –

0
(function(){ 

var yourNameSpace={ 
     publicProp1:publicFn1, 
     publicProp2:publicFn2, 
     publicProp3:publicFn3 
    }; 

    window.yourNameSpace = yourNameSpace; 


//private variable 
var _privateVar1,_privateVar2,_privateVar3; 

//privatefns 
function _privateFn1(){} 
function _privateFn2(){} 
function _privateFn3(){} 
function _privateFn4(){} 


//public functions can access private fns 
function publicFn1(){} 
function publicFn2(){} 
function publicFn3(){} 


}(undefined); 
관련 문제