Window物件是client-side JavaScript程式的全域物件。
setTimeout(callback_fn(),3000)
設定3秒鐘之後呼叫callback_fn(僅呼叫一次)。h = setInterval(callback_fn(),3000)
設定每3秒鐘呼叫一次。
使用clearInterval()取消排定的呼叫,clearInterval(h)
。
如果設為0毫秒,setTimeout(fn(),0)
,fn並部會直接呼叫,而是放入佇列,在目前待執行的所有事件處理器執行完畢之後,才會執行。(與event loop有關)
Window物件裡的loaction參考了Location物件,代表視窗目前所顯示document的URL。
Document物件裡的loaction也是指向參考同一個Location物件window.location === Documnet.location
: true
Document物件裡URL特性,會在document首次載入後將URL存於此,之後可能再導覽網頁時會在網址加上#xxx(如http://localhost#about)但是document.URL並不會改變(document.URL屬於靜態字串)。
解析URL
Location物件裡的href會存放URL的完整字串,但可直接利用location.toString()
也可取得完整URL字串。
Location物件存放了完整的分解URL資訊,如下:
Location物件裡的assign() / replace()
assign() / replace() 兩者都可以傳入url引數,然後轉跳到指定的url。
兩者差異: 使用replace()當前頁面後將不會保存在歷史記錄中,這表示使用者將無法使用“上一頁”回到該頁面。
Window物件裡的history的特性參考History物件。
History物件將瀏覽歷程表示為文件與文件狀態的列表,length表示有多少的歷程元素,但因為安全性,sciprt無法存取它。
History物件具有back與forward,兩者的行為與瀏覽器上一頁、下一頁一樣。
History物件go()特性,可以傳入整數引數,直接往前或往後傳入引數的頁數。(history.go(-2)
:表示上一頁按兩次)
Window物件裡的navigator的特性參考Navigator物件。包含了瀏覽器供應商、版本號。
Navigator物件常被用來判斷是在哪個瀏覽器上執行程式的(有助於優化畫面或使用體驗)。(browser-sniffing)
Navigator物件具有四個特性
特殊特性