>  기사  >  웹 프론트엔드  >  JavaScript는 네임스페이스_javascript 팁을 시뮬레이션합니다.

JavaScript는 네임스페이스_javascript 팁을 시뮬레이션합니다.

WBOY
WBOY원래의
2016-05-16 16:03:301185검색

C 및 C#에서는 이름 충돌을 최소화하기 위해 네임스페이스를 사용합니다. 예를 들어 .NET Framework에서 네임스페이스는 Microsoft.Build.Task.Message 클래스를 System.Messaging.Message와 구별하는 데 도움이 됩니다. JavaScript에는 네임스페이스를 지원하는 언어별 기능이 없지만 개체를 ​​사용하여 네임스페이스를 쉽게 에뮬레이트할 수 있습니다. JavaScript 라이브러리를 생성하는 경우 다음과 같이 전역 함수 및 클래스를 정의하지 않고 네임스페이스 내에 이를 래핑할 수 있습니다.

var MSDNMagNS = {};
MSDNMagNS.Pet = function(name) { // code here };
MSDNMagNS.Pet.prototype.toString = function() { // code };
var pet = new MSDNMagNS.Pet(“Yammer”);

네임스페이스 수준은 고유하지 않을 수 있으므로 중첩된 네임스페이스를 생성할 수 있습니다.

var MSDNMagNS = {};
// nested namespace “Examples”
MSDNMagNS.Examples = {};
MSDNMagNS.Examples.Pet = function(name) { // code };
MSDNMagNS.Examples.Pet.prototype.toString = function() { // code };
var pet = new MSDNMagNS.Examples.Pet(“Yammer”);

상상할 수 있듯이 이렇게 길고 중첩된 네임스페이스를 입력하는 것은 피곤할 수 있습니다. 다행히 라이브러리 사용자는 네임스페이스에 대해 더 짧은 별칭을 쉽게 지정할 수 있습니다.

// MSDNMagNS.Examples and Pet definition...
// think “using Eg = MSDNMagNS.Examples;”
var Eg = MSDNMagNS.Examples;
var pet = new Eg.Pet(“Yammer”);
alert(pet);

Microsoft AJAX 라이브러리의 소스 코드를 보면 라이브러리 작성자가 유사한 기술을 사용하여 네임스페이스를 구현한 것을 알 수 있습니다. 여기서는 자세히 설명하지 않겠습니다. 필요한 친구는 Du Niang을 방문하세요. 그것을 찾기 위해.

이상은 이 글의 전체 내용이며, 자바스크립트를 공부하시는 모든 분들께 도움이 되었으면 좋겠습니다

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.