>웹 프론트엔드 >JS 튜토리얼 >JavaScript 입문 튜토리얼(12) js 객체 프로그래밍_기본 지식

JavaScript 입문 튜토리얼(12) js 객체 프로그래밍_기본 지식

WBOY
WBOY원래의
2016-05-16 18:56:151006검색

with 문은 문이나 문 그룹에 대한 기본 개체를 지정합니다.
사용법:
with () ;;
with 문은 일반적으로 특정 상황에서 작성해야 하는 코드의 양을 줄이는 데 사용됩니다. 아래 예에서는 Math의 반복 사용에 유의하세요.
x = Math.cos(3 * Math.PI) Math.sin(Math.LN10)
y = Math.tan(14 * Math.E );
with 문을 사용하면 코드가 더 짧아지고 가독성이 높아집니다.
코드 복사 코드는 다음과 같습니다. :

(수학) {
x = cos(3 * PI) sin(LN10)
y = tan(14 * E)

이 개체는 "현재" 개체를 반환합니다. 다른 장소에서는 다른 개체를 나타냅니다. 이것이 JavaScript의 "주 프로그램"(어떤 함수나 이벤트 핸들러가 아닌)에서 사용되는 경우, with 문 블록에서 사용되는 경우에는 창 개체를 나타냅니다. 이벤트 핸들러에서 이를 사용하면 이벤트가 발생한 객체를 나타냅니다.
일반적인 사용법:

코드 복사 코드는 다음과 같습니다.
...
함수 검사(formObj) {
...
}
...
..> ;
...
<양식 ...>
...

...

...



이 사용법은 유효성을 즉시 확인하는 데 자주 사용됩니다. 양식 입력 중. 사용자 정의 생성자 우리는 Array() 및 Image()와 같은 생성자를 사용하여 변수를 생성할 수 있다는 것을 이미 알고 있습니다. 실제로 생성자를 직접 작성할 수도 있습니다. 사용자 정의 생성자도 함수를 사용합니다. 속성을 정의하려면 함수 내에서 이를 사용하세요.


함수 <생성자 이름> ; 매개변수>)] {
...
this.<속성 이름> = <초기값>
...
}


new 생성자 키워드를 사용하여 변수를 생성합니다.
var = new [()]
변수를 생성한 후 < 자체 속성을 갖는 객체 - 이를 사용하여 함수에 설정된 속성입니다.
다음은 브라우저 세부 정보를 수집하기 위해 온라인에서 찾은 사용자 정의 생성자의 예입니다.


function Is() {
var 에이전트 = navigator.userAgent.toLowerCase();
this.major =parseInt(navigator.appVersion) //주요 버전 번호
this .minor =parseFloat(navigator.appVersion);//전체 버전 번호
this.ns = ((agent.indexOf('mozilla')!=-1) &&
((agent.indexOf( 'spoofer' )==-1) && //Netscape 여부
(agent.indexOf('호환') == -1)))
this.ns2 = (this.ns && (this.major == 3) )); // Netscape 2 여부
this.ns3 = (this.ns && (this.major == 3)) // Netscape 3 여부
this.ns4b = (this.ns && (this. major < 4.04)); // Netscape 4가 낮은 버전인지 여부
this.ns4 = (this.ns && (this.major >= 4)) // Netscape 4가 높은 버전인지 여부
this.ie = (agent.indexOf("msie") != -1); //IE 여부
this.ie3 = (this.ie && (this.major == 2)); 3
this.ie4 = (this.ie && (this.major >= 4)); //IE 여부 4
this.op3 = (agent.indexOf("opera") != -1) ; //오페라3인지
this.win = (agent.indexOf("win")!=-1) //Windows 버전인지
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 == 'male'); this.age = theAge;
this.birthday = new Date(birthOn);
this.job = theJob
}
var Stephen = new myFriend('Stephen', 'Male', 18, 'Dec 22, 1982', 'Student');

이 생성자에서 매개변수의 사용법을 확인할 수 있을 뿐만 아니라 다양한 속성이 다양한 데이터 유형을 사용할 수 있음을 알 수 있습니다(위의 예 5개) 속성은 문자열, 부울, 숫자, 날짜, 문자열입니다. 또한 생성자를 사용하여 생성자에서 속성을 "구성"할 수도 있음을 확인했습니다. 무한 루프를 피하기 위해 충분한 "보호 조치"를 사용하는 경우 생성자 자체를 사용하여 고유한 속성을 구성할 수 있습니다.

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