JavaScript 複習之 Location物件,URL物件

DreamTruth發表於2019-03-05

Location 物件

是瀏覽器提供的原生物件,提供 URL 相關的資訊和操作方法。通過window.locationdocument.location屬性可以拿到這個物件。

一、屬性

  • location.href:整個 UTL
  • location.protocol:當前 URL 的協議,包括冒號
  • location.host:主機,包括冒號和埠
  • location.hostname:主機名,不包括埠
  • location.port:埠號
  • location.pathname:URL 的路勁部分,從根路徑/開始
  • location.search:查詢字串部分,從問號開始
  • location.hash:片段字串部分,從#開始
  • location.username:域名前面的使用者名稱
  • location.password:域名前面的密碼
  • location.origin:URL 的協議、主機名和埠

這些屬性裡面,只有origin屬性是隻讀的,其他屬性都可寫。

二、方法

  • Location.assign()方法接受一個 URL 字串作為引數,使得瀏覽器立刻跳轉到新的 URL。
  • Location.replace()方法接受一個 URL 字串作為引數,使得瀏覽器立刻跳轉到新的 URL。
  • Location.reload()方法使得瀏覽器重新載入當前網址,相當於按下瀏覽器的重新整理按鈕。
  • Location.toString()方法返回整個 URL 字串

URL 物件

URL 的編碼和解碼 js 提供四個 URL 的編碼/解碼方法

  1. encodeURI()方法用於轉碼整個 URL。它的引數是一個字串,代表整個 URL。它會將元字元和語義字元之外的字元,都進行轉義。
  2. encodeURIComponent()方法用於轉碼 URL 的組成部分,會轉碼除了語義字元之外的所有字元,即元字元也會被轉碼。所以,它不能用於轉碼整個 URL。它接受一個引數,就是 URL 的片段。
  3. decodeURI()方法用於整個 URL 的解碼。它是encodeURI()方法的逆運算。它接受一個引數,就是轉碼後的 URL。
  4. decodeURIComponent()用於URL 片段的解碼。它是encodeURIComponent()方法的逆運算。它接受一個引數,就是轉碼後的 URL 片段。

它的例項屬性和location物件的屬性基本一致,多了一個

  • URL.searchParams返回一個URLSearchParams例項,該屬性是Location物件沒有的

相關文章