2012-04-05 108 views
-4

可能重複:
JS Window Global Object一些幫助理解窗口對象

能有人幫我明白是怎麼window對象的作品?

我知道它是最高級別的對象,並且window對象代表瀏覽器中的打開窗口。

有人能幫助我更多地瞭解它嗎?可能是關於window對象的鏈接或小解釋?我知道它具有所有的對象屬性和方法。我讓bean告訴它可以通過調用window.constructor來重新創建並獲取其本地代碼,這也是獲取對象實例的唯一方法。

如果有人能幫助我獲得更多信息,我會很高興。

+1

我已經給了你這個問題的答案。你爲什麼又問同樣的問題? – 2012-04-05 22:57:41

回答

1

window對象實際上是兩件事情:

  1. 基於瀏覽器的JavaScript全局對象。所有本地對象和方法(ArrayString,setTimeout())以及您在任何函數的作用域之外聲明的任何內容都將出現在window對象中。爲了測試這一點,嘗試打開一個JavaScript控制檯,並檢查了這一點:

    window.String === String 
    // spits out true 
    
  2. window對象也與瀏覽器窗口的交易。 window.innerWidth是窗口的寬度; window.onresize是一個在窗口大小調整時觸發的函數。因爲它是「最頂層」的對象,所以你也可以說innerWidth這樣的東西來獲得窗口的寬度。

一般情況下,這是一個很好的做法,是指寫window.location,而不是僅僅location。即使他們要工作很多的時候,你有時會碰到這樣的情況下(這你不想!):

function something() { 
    var location = 'the moon'; 
    location.reload(); // Should be window.location.reload() 
} 

在上面的例子中,你可能已經打算刷新window.location而不是location範圍內的函數。

而這就是窗口對象!