關於# 和 void的區別

首先,我們來做個實驗吧。

 

打開任何一個瀏覽器的空頁,在地址輸入欄中輸入以下代碼:

會發生什麼呢?

答案是什麼都不會發生。

 

然後,我們再打開一個瀏覽器的空頁面,在地址欄中輸入以下代碼:

這樣又會發生什麼呢,是什麼都不會發生麼?

顯然不是,我們得到的是一個新的頁面,而且頁面的內容是JS代碼返回的值(也就是 hello );

 

爲什麼會這樣?

因爲在瀏覽器解析JS的時候,如果有返回值,那麼就會生成一個新的頁面,如果沒有就什麼都不做。

這就是爲什麼上面的兩個例子有這種差別。

 

好了,那入正題。

先來看下兩段很相似的代碼

 

 

然後,我們把這兩斷代碼放到同一個頁面中,依次點擊他們。

貌似沒有發生什麼,是不是這樣就可以說他們是等效的了呢?

 

那麼我們再來看一段代碼

 

這樣我們再分別點擊兩個鏈接看看,效果不一樣了吧。

href 爲#的跳到了自己的頁面。


原來‘#’代表的是 #top ,

top 屬性返回最頂層的先輩窗口。

該屬性返回隊一個頂級窗口的只讀引用。如果窗口本身就是一個頂級窗口,top 屬性存放對窗口自身的引用。如果窗口是一個框架,那麼 top 屬性引用包含框架的頂層窗口。


而void 函數則返回的是空,也就是讓瀏覽器不做任何事情。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章