js 대상 프로 그래 밍: 네 임 스페이스

다른 언어 에서 클래스 와 방법 이름 바 꾸 기 문 제 를 피하 기 위해 모두 네 임 스페이스 와 유사 한 개념 을 가지 고 js 에서 유사 한 기능 을 실현 합 니까?
   실현 할 수 있 는 것 은 주로 js 에서 대상 의 개념 을 빌려 실현 하 는 것 이다. 예 를 들 어:
 1. 네 임 스페이스 에서 방법 속성 을 정의 합 니 다.
var GiantCorp =GiantCorp||{};
GiantCorp.Common = {
    Test1:function(){alert("Test1")},//  	
	 Field1:"Field1"//  
};

GiantCorp.ErrorCodes = {
      Test1:function(){alert("ErrorCodesTest1")},//  	
	   Field1:"ErrorCodesField1"//  	 
};

호출 방법:
     //    
        function test(){	
	        GiantCorp.Common.Test1();
            alert(GiantCorp.Common.Field1);	
            GiantCorp.ErrorCodes.Test1();
           alert(GiantCorp.ErrorCodes.Field1);	
		   
		  
          var 	Common=  GiantCorp.Common;//         
		    Common.Test1();
           alert(Common.Field1);
		
	     }

 2. 네 임 스페이스 에서 클래스 를 정의 합 니 다.
var GiantCorp =GiantCorp||{};
GiantCorp.obj=GiantCorp.obj||{};
GiantCorp.obj.Classobj =function(text1,text2){   //        
        this.text1=text1;
	     this.text2=text2;
}
GiantCorp.obj.Classobj.prototype.Do =function(){ //          
      alert(this.text1+this.text2);
}

호출 방법:
 //    
        function test(){	
		     var obj=new  GiantCorp.obj.Classobj("  1","  2");		  
			  obj.Do();//      
			  var 	Classobj=  GiantCorp.obj.Classobj;//      
			  var obj2=new  Classobj("  1","  2");
		      obj2.Do=function(text1,text2){ //          
                alert(this.text1);
             }
			 obj2.Do();//      
	     }

좋은 웹페이지 즐겨찾기