JavaScript 전역 참조 매뉴얼
JavaScript 전역 속성과 함수는 모든 내장 JavaScript 객체에 사용할 수 있습니다.
JavaScript 전역 속성
속성 | 설명 |
---|---|
Infinity | 양수/음수 무한대 값을 나타냅니다. |
NaN | “Not-a-Number”("非数字")값 |
undefined | 변수가 할당되지 않았음을 나타냅니다. |
JavaScript 전역 함수
함수 | 설명 |
---|---|
decodeURI() | URI를 디코딩합니다. |
decodeURIComponent() | URI 구성 요소를 디코딩합니다. |
encodeURI() | URI를 인코딩합니다. |
encodeURIComponent() | URI 구성 요소를 인코딩합니다. |
escape() | 1.5 버전에서 사용되지 않습니다.사용하세요 encodeURI() 또는 encodeURIComponent() 대체. |
eval() | 문자열을 평가하고 스크립트 코드처럼 실행합니다. |
isFinite() | 값이 제한된 합법 수인지 확인합니다. |
isNaN() | 값이 불법 숫자인지 확인합니다. |
Number() | 객체의 값을 숫자로 변환합니다. |
parseFloat() | 문자열을 해석하고 실수로 반환합니다. |
parseInt() | 문자열을 해석하고 정수로 반환합니다. |
String() | 객체의 값을 문자열로 변환합니다. |
unescape() | 1.5 버전에서 사용되지 않습니다.사용하세요 decodeURI() 또는 decodeURIComponent() 대체. |
함수와 메서드는 무엇인가요?
全局函数 대신 전역 메서드를 호출하는 것은 의미가 있습니다.因为这些是全局调用的,而非任何对象。
또한, 이 함수 메서드를 호출할 수도 있습니다.因为这些是其运行环境的全局对象的方法。在 Web 浏览器中,全局对象是浏览器窗口。那么 isNaN() 实际上就是一个窗口方法:window.isNaN()。
전역 객체 설명
전역 객체는 사전 정의된 객체로, JavaScript의 전역 함수와 전역 속성의 대체자로 사용됩니다. 전역 객체를 사용하면 모든 다른 사전 정의된 객체, 함수 및 속성에 접근할 수 있습니다. 전역 객체는 어떤 객체의 속성도 아니므로 이름이 없습니다.
최상위 JavaScript 코드에서는 키워드 this를 사용하여 전역 객체를 참조할 수 있습니다. 그러나 전역 객체가 스코프 체인의 머리에 있기 때문에, 일반적으로 이 방식으로 전역 객체를 참조할 필요는 없습니다. 이는 모든 비제한적 변수와 함수 이름이 이 객체의 속성으로 쿼리됨을 의미합니다. 예를 들어, JavaScript 코드가 parseInt() 함수를 참조할 때, 그것은 전역 객체의 parseInt 속성을 참조합니다. 전역 객체가 스코프 체인의 머리에 있음을 의미하는 것은, 최상위 JavaScript 코드에서 선언된 모든 변수가 전역 객체의 속성이 됨을 의미합니다.
전역 객체는 단순히 객체일 뿐, 클래스가 아닙니다. 생성자가 없으며, 새로운 전역 객체를 인스턴스화할 수 없습니다.
JavaScript 코드가 특정 환경에 배치될 때, 전역 객체는 일반적으로 환경 특정 속성을 가집니다. 실제로, ECMAScript 표준은 전역 객체의 타입을 규정하지 않으며, JavaScript의 구현이나 배치된 JavaScript는 여기에 나열된 기본 속성과 함수를 정의한 모든 유형의 객체를 전역 객체로 사용할 수 있습니다. 예를 들어, LiveConnect이나 관련 기술을 통해 Java를 스크립팅할 수 있는 JavaScript 구현에서, 전역 객체는 여기에 나열된 java와 Package 속성 및 getClass() 메서드를 가지게 됩니다. 고객 측 JavaScript에서, 전역 객체는 Window 객체로, JavaScript 코드가 실행되는 웹 브라우저 창을 나타냅니다.
예제
JavaScript 핵심 언어에서, 전역 객체의 사전 정의된 속성들은 비열거 가능합니다. 모든 은닉이나 명시적으로 선언된 전역 변수들은 다음과 같이 for/in 루프로 나열될 수 있습니다:
var variables = ""; for (var name in this) { variables += name + "<br />"; } document.write(variables);