>웹 프론트엔드 >JS 튜토리얼 >JavaScript의 객체 프로그래밍

JavaScript의 객체 프로그래밍

高洛峰
高洛峰원래의
2016-11-25 11:36:291106검색

객체 기반 프로그래밍에 대한 설명 이제 객체 기반 프로그래밍에 대해 다음 내용을 배울 수 있지만 실제로는 이전 장에 속합니다.

with 문 문 또는 문 그룹의 기본 개체를 지정합니다.

사용법:
with () ;
with 문은 일반적으로 특정 상황에서 작성해야 하는 코드의 양을 줄이는 데 사용됩니다. 아래 예에서는 Math의 반복 사용에 유의하세요.
x = Math.cos(3 * Math.PI) + Math.sin(Math.LN10)
y = Math.tan(14 * Math .E);
with 문을 사용하면 코드가 더 짧아지고 가독성이 높아집니다.
with (Math) {
x = cos(3 * PI) + sin(LN10);
y = tan(14 * E);
}
이 개체는 "현재" 개체를 반환합니다. 다른 장소에서는 다른 개체를 나타냅니다. 이것이 JavaScript의 "주 프로그램"(어떤 함수나 이벤트 핸들러가 아닌)에서 사용되는 경우, with 문 블록에서 사용되는 경우에는 창 개체를 나타냅니다. 이벤트 핸들러에서 이를 사용하면 이벤트가 발생한 객체를 나타냅니다.

일반적인 사용법:
<script><br>...<br>function check(formObj) {<br> ...<br>}<br>... <br></script>

<본문 ...>
...
<형식 ...>
...
< input type="text" ... onchange="check(this.form)">
...

...

이 사용법은 양식 입력의 유효성을 즉시 확인하는 데 자주 사용됩니다.

사용자 정의 생성자 우리는 Array() 및 Image()와 같은 생성자를 사용하여 변수를 생성할 수 있다는 것을 이미 알고 있습니다. 실제로 생성자를 직접 작성할 수도 있습니다. 사용자 정의 생성자도 함수를 사용합니다. 함수 내에서 이를 사용하여 속성을 정의합니다.
함수 <생성자 이름> [(<매개변수>)] {
...
this.<속성 이름> = <초기값>;
. }
그런 다음 new 생성자 키워드를 사용하여 변수를 생성합니다.
var = new [()]
변수를 생성한 후 < ;변수 이름>은 자체 속성(이를 사용하여 함수에 설정된 속성)을 갖는 개체가 됩니다.

다음은 브라우저 세부 정보를 수집하기 위해 인터넷에서 찾은 사용자 정의 생성자의 예입니다.

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개 속성은 문자열, 부울 값, 숫자, 날짜, 문자열입니다.) 또한 생성자를 사용하여 생성자의 속성을 "구성"할 수도 있다는 것을 확인했습니다. 무한 루프를 방지하기 위해 충분한 "보호 조치"를 사용하는 경우 생성자 자체를 사용하여 고유한 속성을 구성할 수 있습니다.


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