>  기사  >  웹 프론트엔드  >  자바스크립트 창 개체 참조, 특성, 속성 및 메서드에 대한 자세한 설명

자바스크립트 창 개체 참조, 특성, 속성 및 메서드에 대한 자세한 설명

伊谢尔伦
伊谢尔伦원래의
2017-07-26 11:04:412048검색

창 개체는 웹 브라우저의 JavaScript에 대한 궁극적인 상향식 개체이며 범위의 끝에 있으며 모든 개체를 포함하는 개체입니다. 전역 범위에 정의된 모든 속성과 함수는 창 개체의 속성입니다

1. 참조

창 개체를 참조하는 방법에는 일반적으로 두 가지가 있습니다. 첫 번째는 단순히 창 개체에 지정된 이름을 참조하는 것입니다. 두 번째는 전역 범위에서 this 키워드를 사용하는 것입니다


var foo ='bar';
windowRef1 = window;
windowRef2 = this;
console.log(windowRef1,windowRef2);//输出window对象的引用
console.log(windowRef1.foo,windowRef2.foo);//'bar' 'bar'

2, 특성

창 개체는 암시적이며 일반적으로 명시적이지 않습니다. ; 윈도우 객체가 명시적으로 선언되더라도 윈도우 객체는 스코프 체인의 마지막 객체이기 때문에 암시적입니다. [참고] undefine, NaN 및 Infinity


4, 메소드

에 값을 할당하는 것은 금지되어 있습니다.

Javascript에는 창 개체의 메서드로 간주되는 몇 가지 사전 정의된 함수가 함께 제공됩니다.


1), 인코딩 방법

encodeURI():

전체 URI를 인코딩하여 모든 유효하지 않은 문자를 대체합니다. 특수 UTF-8

encodeURI()에는 82개의 인코딩되지 않은 문자가 있습니다:

! # $ & ' ( ) * + , - . ():

URI의 특정 세그먼트(GET 메서드에서 매개 변수를 전달하는 데 일반적으로 사용됨)를 인코딩하고 모두 특수 UTF-8 잘못된 문자로 바꿉니다.

일반적으로 실제로는 encodeURI()보다 encodeURIComponent()를 더 많이 사용합니다. 기본 URI를 인코딩하는 것보다 문자열 매개변수를 쿼리하는 것이 더 일반적입니다. encodeURIComponent():

에 인코딩되지 않은 문자가 71개 있습니다! ' ( ) * - . _ ~ 0-9 a-z A-Z

escape():
문자열을 인코딩하고 문자를 유니코드합니다. 16진수 시퀀스로
ES3에서는 escape() 사용이 반대되며 대신 encodeURI 및 encodeURIComponent를 사용하는 것이 좋습니다. 그러나 escape()는 쿠키를 인코딩하기 때문에 여전히 쿠키 인코딩에 널리 사용됩니다. . 경로에 자주 나타나는 잘못된 문자와 "/"는 인코딩되지 않습니다. Escape ()에 대한 69 개의 ​​uncoded 문자가 있습니다. Decode encodeURIComponent()

unescape():

Decode escape()
eval()
eval() 메소드는 완전한 ECMAScript 파서와 같으며 매개변수 하나만 허용합니다. 실행할 JavaScript 문자열입니다. 파서는 코드에서 eval() 메서드가 호출된 것을 발견하면 들어오는 매개 변수를 실제 ECMAScript 문으로 구문 분석한 다음 실행 결과를 원래 위치에 삽입합니다. 문자열을 해석하는 eval() 메서드의 기능은 매우 강력하지만 매우 위험합니다. 사용자 입력 데이터를 수행하는 데 사용되면 악의적인 사용자가 사이트나 애플리케이션 문자를 위협하는 코드를 입력할 수 있습니다. 이를 코드 주입이라고 합니다.

 [참고] 엄격 모드에서는 eval()에서 생성된 모든 항목에 액세스할 수 없습니다. 외부에서 변수나 함수, eval에 값을 할당하면 오류가 발생합니다

2), 수치 메서드
isFinite(), isNaN(), parseFloat(), parseInt와 관련된 숫자 4개가 있습니다. () Window 객체 메소드 아래

위 내용은 자바스크립트 창 개체 참조, 특성, 속성 및 메서드에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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