객체 기반 프로그래밍에 대한 설명 이제 객체 기반 프로그래밍에 대해 다음 내용을 배울 수 있지만 실제로는 이전 장에 속합니다.
with 문 문 또는 문 그룹의 기본 개체를 지정합니다.
사용법:
with (
일반적인 사용법:
<script><br>...<br>function check(formObj) {<br> ...<br>}<br>... <br></script>
<본문 ...>
...
<형식 ...>
...
< input type="text" ... onchange="check(this.form)">
...
...
이 사용법은 양식 입력의 유효성을 즉시 확인하는 데 자주 사용됩니다.
사용자 정의 생성자 우리는 Array() 및 Image()와 같은 생성자를 사용하여 변수를 생성할 수 있다는 것을 이미 알고 있습니다. 실제로 생성자를 직접 작성할 수도 있습니다. 사용자 정의 생성자도 함수를 사용합니다. 함수 내에서 이를 사용하여 속성을 정의합니다.
함수 <생성자 이름> [(<매개변수>)] {
...
this.<속성 이름> = <초기값>;
. }
그런 다음 new 생성자 키워드를 사용하여 변수를 생성합니다.
var
변수를 생성한 후 < ;변수 이름>은 자체 속성(이를 사용하여 함수에 설정된 속성)을 갖는 개체가 됩니다.
다음은 브라우저 세부 정보를 수집하기 위해 인터넷에서 찾은 사용자 정의 생성자의 예입니다.
function Is() {
var agent = navigator.userAgent.toLowerCase();
this .major = parsInt(navigator.appVersion); //주 버전 번호
this.minor =parseFloat(navigator.appVersion);//전체 버전 번호
this.ns = ((agent.indexOf(mozilla )! =-1) &&
> 이 )); //넷스케이프 3
this.ns4b = (this.ns && (this.minor < 4.04)) //넷스케이프 4의 하위 버전인가요?
this.ns4 = (this. .ns && (this.major >= 4) ); //Netscape 4의 상위 버전인지 여부
this.ie = (agent.indexOf("msie") != -1); IE
this.ie3 = (this.ie && (this.major == 2)) //IE 3인지
this.ie4 = (this.ie && (this.major >= 4) )); //IE 4인지
this.op3 = (agent.indexOf("opera") != -1); //Opera 3인지
this.win = (agent.indexOf(" win")!=-1); //윈도우 버전인지
this.mac = (agent.indexOf("mac")!=-1); //매킨토시 버전인지
this. unix = (agent.indexOf("x11")!=-1); //유닉스 버전인가요
}
var is = new Is();
이 생성자는 브라우저 정보를 수집합니다. 아주 완전히. 우리는 이것이 객체에 대한 많은 속성(major, major, ns, ie, win, mac 등)을 정의한다는 것을 알 수 있습니다. 의미는 위의 참고 사항을 참조하세요. is 변수를 Is() 객체로 정의한 후, if(is.ns) 형식을 이용하면 브라우저 정보를 쉽게 알 수 있습니다. 또한 이 생성자에서 일반 JavaScript 문(위 예의 var 문)을 사용할 수도 있음을 알 수 있습니다.
매개변수를 사용하는 또 다른 생성자를 살펴보겠습니다.
function myFriend(theName, 성별, theAge,birthOn, theJob) {
this.name = theName;
this.isMale = (gender. toLowerCase == 남성);
this.age = theAge;
this.birthday = new Date(birthOn);
this.job = theJob
}
var Stephen = new myFriend(Stephen, Male, 18, 1982년 12월 22일, 학생);
이 생성자에서 매개변수의 사용법을 확인할 수 있을 뿐만 아니라 다양한 속성이 다양한 데이터 유형을 사용하는 방법도 확인할 수 있습니다. 예(위 예제의 5개 속성은 문자열, 부울 값, 숫자, 날짜, 문자열입니다.) 또한 생성자를 사용하여 생성자의 속성을 "구성"할 수도 있다는 것을 확인했습니다. 무한 루프를 방지하기 위해 충분한 "보호 조치"를 사용하는 경우 생성자 자체를 사용하여 고유한 속성을 구성할 수 있습니다.