2014-01-17 3 views
7
  1. 전역 객체는 웹 브라우저에서 어떤 객체입니까?
  2. 전역 범위가 전역 개체에서 제공되는 범위입니까? 그렇지 않은 경우 전역 범위는 어디에서 찾을 수 있습니까?

답변

5

브라우저 환경에서 Window는 전역 범위로 간주됩니다.

창 개체 차례로 추상보기 인터페이스에서 상속되는 윈도우 인터페이스를 구현한다.
일반적으로 윈도우와 관련되지 않지만 사용할 수있는 일부 전역 함수, 네임 스페이스 객체, 인터페이스 및 생성자는 JavaScript 참조 및 DOM 참조에 나열되어 있습니다.

window 개체는 창 자체를 나타냅니다.
창의 document 속성은 해당 창에로드 된 DOM 문서를 가리 킵니다.
주어진 문서의 창은 document.defaultView 속성을 사용하여 가져올 수 있습니다.

Firefox와 같은 탭 브라우저에서는 각 탭마다 고유 한 창 개체가 포함되어 있습니다. 확장 프로그램을 작성하는 경우 브라우저 창 자체도 별도의 창입니다.
즉, 창 개체는 같은 창에있는 탭 간에는 공유됩니다. window.resizeTo 및 window.resizeBy와 같은 일부 메서드는 창 개체가 속한 특정 탭이 아닌 전체 창에 적용됩니다. 일반적으로 탭과 관련이없는 탭은 창 대신. 전역 객체가 예 window

  • 라고

  • 3
    1. , 글로벌 SCO pe는 윈도우에서 제공되므로 window.varible을 사용하여 전역 변수를 얻을 수 있습니다.
    1

    정말 멋진 질문입니다. 나는 이것에 대해 잠시 숙고 해왔다. 여기 내 생각이 있습니다. 예 사실 글로벌 객체 및 전역 범위라는 것이 있습니다. 그러나 글로벌 스코프는 가상 오브젝트이며 글자 그대로 글로벌 오브젝트 (즉, 글로벌 오브젝트에 존재하는 속성이 글로벌 기능/범위에서 변수로 존재하는 것)의 라이브 미러 반영입니다. 전역 범위에 대한 업데이트는 전역 개체를 업데이트하는 것입니다 (예 : 전역 변수를 만드는 경우 전역 범위와 전역 개체에 모두 추가됨). 멋진 사실은 다음과 같습니다. 전역 범위가 생성되거나 호출되는 경우 전달 된 컨텍스트는 실제로 전역 개체입니다.

    이것은 JavaScript의 함수 외부에서 실제로 실행되는 코드가 없다는 것을 증명합니다. 최고 수준의 코드와 인라인 스크립트는 실제로 함수 내에서 실행되지 않지만 전역 범위에 대한 실제 원인이 아니라 전역 함수가 호출되어야하며 이는 최상위 레벨 코드가 실행되어야 함을 의미한다고 주장합니다. 그 세계적인 기능 안에서