2009-12-19 2 views

답변

18

는 ++ 자바 스크립트에서 네임 스페이스의 공식적인 개념이 없습니다. 그러나 네임 스페이스를 에뮬레이트하기 위해 Javascript 개체의 함수를 래핑 할 수 있습니다. 당신이 MyNamespace라는 "네임 스페이스"의 기능을 쓰고 싶다 예를 들어, 다음을 수행 할 수 있습니다

var MyNamespace = {}; 

MyNamespace.myFunction = function(arg1, arg2) { 
    // do things here 
}; 

MyNamespace.myOtherFunction = function() { 
    // do other things here 
}; 

을 그리고, 그 함수를 호출하면 MyNamespace.myFunction(somearg, someotherarg);MyNamespace.myOtherFunction();를 작성합니다.

또한 Javascript에서 네임 스페이스 및 클래스와 같은 것을 수행하는 여러 가지 방법이 있음을 언급해야합니다. 내 방법은 그 중 하나 일뿐입니다.

자세한 내용은 this 질문을 참조하십시오.

+5

대문자의 첫 번째 문자는 일반적으로 그것이 생성자임을 의미합니다. 대신에,'myNamespace'를 대신 사용하는 편이 낫습니다. –

+0

개인적인 코딩 스타일의 문제라고 생각합니다. 저는 항상 클래스 이름과 생성자에 첫 글자를 사용합니다. 이 경우,'MyNamespace'는 클래스로서 동작합니다. –

2

현재 ECMAScript 6/JavaScript 2 네임 스페이스를 언급하고있는 경우 JavaScript 구현이 네임 스페이스를 지원하지 않습니다.

네임 스페이스가 오늘 어떻게 수행되는지는 하나의 개체를 사용하고 정의 할 모든 메서드를 그 개체에 올려 놓는 것입니다.

var myNamespace = {}; 
myNamespace.foo = function() { /*...*/ }; 
myNamespace.bar = function() { /*...*/ }; 
관련 문제