javascript:void 0是一種常見(jiàn)的JavaScript表達(dá)式,它的作用是返回undefined值。它通常用在超鏈接的href屬性中,表示點(diǎn)擊該鏈接不會(huì)跳轉(zhuǎn)到其他頁(yè)面,而是執(zhí)行JavaScript代碼。例如:
<a href="javascript:void 0" onclick="alert('Hello')">點(diǎn)擊這里</a>
這個(gè)例子中,點(diǎn)擊鏈接會(huì)彈出一個(gè)對(duì)話框,顯示Hello,但不會(huì)跳轉(zhuǎn)到其他頁(yè)面。
為什么要這樣寫(xiě)呢?有兩個(gè)原因:
- 一是為了避免使用#作為href屬性的值,因?yàn)?會(huì)導(dǎo)致瀏覽器滾動(dòng)到頁(yè)面頂部,或者改變?yōu)g覽器的歷史記錄。使用javascript:void 0可以避免這些副作用。
- 二是為了遵循HTML規(guī)范,因?yàn)閔ref屬性的值應(yīng)該是一個(gè)有效的URL,而javascript:void 0是一個(gè)合法的URL,它表示一個(gè)空的協(xié)議和主機(jī)名。
總之,javascript:void 0是一種簡(jiǎn)單而有效的方法,可以讓超鏈接只執(zhí)行JavaScript代碼,而不影響瀏覽器的行為。它是JavaScript開(kāi)發(fā)者的常用技巧之一。