全國(guó)咨詢(xún)/投訴熱線:400-618-4000

首頁(yè)技術(shù)文章正文

JavaScript中l(wèi)ocation對(duì)象怎么用?

更新時(shí)間:2021-11-12 來(lái)源:黑馬程序員 瀏覽量:

window.location返回一個(gè)Location對(duì)象,其中包含有關(guān)文檔當(dāng)前位置的信息,是BOM中最重要的對(duì)象之一。一般使用window.location對(duì)象用于獲得當(dāng)前頁(yè)面的地址 (URL),并把瀏覽器重定向到新的頁(yè)面。

(1)location既是window對(duì)象的屬性又是document對(duì)象的屬性。

(2)location包含8個(gè)屬性,其中7個(gè)都是當(dāng)前窗體的URL的一部分,剩下最重要的一個(gè)是href屬性,代表當(dāng)前窗體的URL。

(3)location的8個(gè)屬性都是可讀寫(xiě)的,但是只有href與hash的寫(xiě)才有意義。例如改變location.href會(huì)重新定位到一個(gè)URL,而修改location.hash會(huì)跳到當(dāng)前頁(yè)面中的anchor(或者等)名字的標(biāo)記(如果有),而且頁(yè)面不會(huì)被重新加載。


location


(4)location屬性。

① location.hash:返回URL中#符號(hào)后面的內(nèi)容,如果沒(méi)有返回空字符串。

② location.host:返回域名及端口號(hào)。

③ location.hostname屬性:返回主域名。

④ location.href:返回當(dāng)前文檔的完整URL或設(shè)置當(dāng)前文檔的URL。

⑤ location.pathname:返回URL中域名后的部分,即URL中的路徑和(或)文件名

⑥ location.port:返回URL中的端口。如果URL中沒(méi)有端口,則返回空字符串

⑦ location.protocol:返回URL中的協(xié)議。通常是"http:"或"https:"

⑧ location.search屬性:返回URL中的查詢(xún)字符串。這個(gè)字符串以問(wèn)號(hào)開(kāi)頭,例如"?q=javascript"。



(5)Location對(duì)象方法

assign()函數(shù)——設(shè)置當(dāng)前文檔的URL。

replace()函數(shù)——設(shè)置當(dāng)前文檔的URL,并在history對(duì)象的地址列表中刪除這個(gè)URL。

reload()函數(shù)——重新載入當(dāng)前文檔(從server服務(wù)器端)。

toString()函數(shù)——返回location對(duì)象href屬性當(dāng)前的值。

(6)統(tǒng)一資源定位符(Uniform Resource Locator, URL)

URL的組成:

scheme://host:port/path?query#fragment

scheme:通信協(xié)議,常用的http,ftp,maito等

host:主機(jī)。服務(wù)器(計(jì)算機(jī))域名系統(tǒng)(DNS)主機(jī)名或IP地址。

port:端口號(hào)。整數(shù),可選,省略時(shí)使用方案的默認(rèn)端口,如http的默認(rèn)端口為80。

path:路徑。由零或多個(gè)'/'符號(hào)隔開(kāi)的字符串,一般用來(lái)表示主機(jī)上的一個(gè)目錄或文件地址。

query:查詢(xún)??蛇x,用于給動(dòng)態(tài)網(wǎng)頁(yè)傳遞參數(shù),可有多個(gè)參數(shù),用'&'符號(hào)隔開(kāi),每個(gè)參數(shù)的名和值用'='符號(hào)隔開(kāi)。例如:name=zs。

fragment:信息片斷。字符串,錨點(diǎn)。

運(yùn)行下面代碼將將跳轉(zhuǎn)到http://web.itheima.com。

<script>
    window.location = "http://3rdspacecomics.com"
</script>



猜你喜歡

jQuery和vue的區(qū)別是什么?

jQuery中attr()和prop()有什么不同?

jQuery元素內(nèi)容操作的方法有多少種?

黑馬程序員web前端培訓(xùn)課程

分享到:
在線咨詢(xún) 我要報(bào)名
和我們?cè)诰€交談!