[ASP.NET Ajax]ECMAScript 기본 클래스 및 Asp.net Ajax 클래스<Object>확장

“Everything is "Object"는 대상 을 대상 으로 하 는 프로 그래 밍 언어 에서 누구나 이 말 을 알 고 있 지만 저 에 게 는 일종 의 느낌 입 니 다.마음 만 먹 으 면 전달 하기 어 려 울 것 입 니 다.저 는 JavaScript 와 약 하기 때문에 Asp.net 을 보고 있 습 니 다. Ajax 라 이브 러 리 와 함께 ECMAScript 를 꺼 내 공부 도 했다..NET 에 서 는 모든 클래스 가 오 브 젝 트 로부터 물 려 받 았 고,JS 에서 도 마찬가지 로 오 브 젝 트 를 물 려 받 았 다 고 하기 때문에 오 브 젝 트 를 확장 했다 면 오 브 젝 트 를 물 려 받 은 모든 후손 은 조상의 혈연을 가 졌 을 것 이다.자바 스 크 립 트 를 배우 기 시 작 했 으 니 여기 서 그의 원시 데이터 형식 을 언급 하 자.JS 에는 5 개의 원시 데이터 형식(Undefined,Null,Boolean,Number,String)이 있 는데 type of 를 통 해 변수 와 값 의 데이터 형식 을 판단 할 수 있다.1.        Undefined: 변수 가 설명 되 었 으 나 초기 화 되 지 않 았 거나 함수 가 값 을 명확 하 게 되 돌려 주지 않 았 을 때 이 변수 나 함 수 는 다음 과 같 습 니 다. Undefined 타 입,Null 타 입의 특성 입 니 다.2.        Null: 대상 의 값 이 존재 하지 않 을 때 이 대상 은 null 로 돌아 갑 니 다.3.        불 리 언:딱 봐 도 1 남 1 녀 true/false.주의해 야 할 것 은 0 은 false 가 아니 지만 false 로 바 뀔 수 있다 는 것 이다.4.        Number:32 비트 정형 데이터 나 64 비트 부동 소수점 데 이 터 를 정의 할 수 있 습 니 다.인터넷 의 일부 자 료 를 통 해 알 수 있 듯 이 부동 소수점 은 계산 되 지 않 기 전에 String 형식 으로 저장 된다(진짜 인지 가짜 인지 모르겠다).부동 소수점 형식 데이터 가 크 거나 시간 이 많 을 때(6 비트 를 앞 뒤로 이동 할 수 있 음)E 표현 법 으로 부동 소수점 데 이 터 를 표시 하고 최대 17 비트 의 데 이 터 를 저장 할 수 있 습 니 다.또한,isFinite()방법 은 하나의 수치 가 유한 한 지 판단 할 수 있 으 며,isNaN()방법 은 하나의 데이터 가 비 숫자 유형 인지 판단 할 수 있다.parseInt()과 parseFloat()를 통 해 다른 유형 을 디지털 형식 으로 바 꿀 수 있 으 며,성공 하지 못 하면 NaN(Not)으로 돌아 갈 수 있 습 니 다. a Number)。 5.        String:이것 은 크기 제한 이 없 는 유일한 원본 형식 입 니 다.다른 유형 은 toString()을 통 해 String 형식 으로 바 꿀 수 있 습 니 다.특히 숫자 가 String 형식 으로 바 뀌 면 2.8.16 을 매개 변수 로 출력 된 바 이 너 리,8 진,16 진 문자열 로 추가 할 수 있 습 니 다.다음은 Object 타 입 을 살 펴 보 겠 습 니 다.var 를 통 해... obj=new Object();상 대 를 밝 힐 수 있다..NET 의 Object 와 마찬가지 로 모든 종류의 기본 클래스 입 니 다.이것 은 두 가지 속성 을 가지 고 있 습 니 다.constructor(.NET 에 해당 하 는 구조 함수)는 대상 함수 인용 을 권장 합 니 다.Object 류 에 있어 서 이 인용 은 로 컬 Object()방법 을 가리 키 고 있 습 니 다.prototype 대상 에서 prototype 대상 의 인용 값 입 니 다.이 속성 을 통 해 각 대상 의 prototype 확장 속성 과 방법 을 반사 할 수 있 습 니 다.Asp.net 에서 Ajax 에서 도 이 속성 류 의 확장 과 반사 류 를 이용 합 니 다.hasOwnProperty(property)―property 속성 이 대상 에 존재 하 는 지 판단 하고 property 데이터 형식 은 string 입 니 다.isPrototypeOf(object)― 한 대상 이 다른 대상 인지 아 닌 지 를 판단 하 다. prototype;propertyIsEnumerable(property)― 제 시 된 속성 을 사용 할 수 있 는 지 판단 합 니 다. for 문 구 를 열거 하 다.toString()―대상 의 원본 형식 string 을 되 돌려 줍 니 다.valueOf()―대상 에 게 적합 한 원시 값 을 되 돌려 줍 니 다.대부분의 클래스 에서 되 돌아 오 는 값 은 toString()과 같 습 니 다.이것 이 바로 원시 Object 대상 의 방법 으로 다른 유형 에서 도 이러한 방법 이 똑 같이 계승 된다.Asp.NET 에서 Ajax 에서 마이크로소프트 는 전체 라 이브 러 리 를.NET 개발 자 에 게 더욱 적합 하 게 확장 하기 위해 원시 적 인 Object 대상 에서 두 가지 방법 을 확장 했다.Object.typeName="Object"; Object.getType=function(b){   var a=b.constructor;   if(!a||typeof a!=="function"||!a.__typeName||a.__typeName==="Object")return Object;   return a }; Object.getTypeName=function(a){   return Object.getType(a).getName() }; 위 에서 볼 수 있 듯 이 Object.getType(type)이라는 정적 방법 은 클래스 의 대상 을 가 져 올 수 있 으 며,Object.getTypeName(type)은[prototype]Type.getName()을 호출 하여 클래스 의 이름(네 임 스페이스 포함)을 가 져 올 수 있 습 니 다.이것 은 할 말 이 없다.다음은 테스트 를 살 펴 보 자.                 
                 Type.registerNamespace("NExplus");         //define a class;         NExplus.ObjectTest=function(name){           this._name=name;         }         NExplus.ObjectTest.prototype.getName=function(){           return (this._name === undefined) ? null : this._name;         }         NExplus.ObjectTest.prototype.setName=function(name){           this._name=name;         }         //register class;         NExplus.ObjectTest.registerClass("NExplus.ObjectTest");                  NExplus.TestObject=function(){           var a=new NExplus.ObjectTest("Test is success?");           document.write(a.getName());           document.write("
");           a.setName("Success!");           document.write(a.getName());           document.write("
");           document.write(Object.getTypeName(a)+"
")         }         //run;         NExplus.TestObject();                  
실행 결과:Test is success? Success! NExplus.ObjectTest    이것 은 비교적 간단 합 니 다.마이크로소프트 는.NET 프레임 워 크 와 더욱 가 까 워 지기 위해 확 장 된 Object 류 일 뿐 입 니 다.저 는 이 두 가 지 는 개발 과정 에서 거의 사용 되 지 않 을 것 이 라 고 생각 합 니 다.위의 테스트 와 함께 속성 J 를 테스트 해 보 겠 습 니 다.나 는 그 마음 좋 은 사람 이 ECMAScript 의 규범 문 서 를 번역 하 였 는 지 매우 알 고 싶다.영 어 를 보 는 것 은 정말 좋 은 부류 이다.겸사겸사 나 를 단단히 묶 은 두 개의 조작 부 호 를 동봉 합 니 다. ||:첫 번 째 부터 의미 있 는 반환 을 만 나 지 않 으 면 마지막 표현 식 을 되 돌려 줍 니 다(꼭 Boolean 값 은 아 닙 니 다). &&:첫 번 째 부터 무의미 한(0,null,undefined,",false,NaN)의 반환 을 만 나 지 않 으 면 마지막 표현 식(꼭 Boolean 값 은 아 닙 니 다)을 되 돌려 줍 니 다.

좋은 웹페이지 즐겨찾기