javascript void 0 是什麼意思
來源:互聯網
上載者:User
我們在 JavaScript腳本中就會經常可以看到這樣的代碼:
〈a href="JAVAscript:changeNum();void(0);" 〉here〈/a〉
但這兒的void(0)究竟是何含義呢? 又有什麼作用呢?
JavaScript中void是一個操作符,該操作符指定要計算一個運算式但是不傳回值。
void 操作符用法格式如下:
1. javascript:void (e?xpression)
2. javascript:void e?xpression
e?xpression 是一個要計算的 JavaScript 標準的運算式。 運算式外側的圓括弧是可選的,但是寫上去是一個好習慣。 你可以使用 void 操作符指定超級連結。 運算式會被計算但是不會在當前文檔處裝入任何容。
下面的代碼創建了一個超級連結,當使用者點擊以後不會發生任何事。 當使用者點選連結時,void(0) 計算為 0,但在 JavaScript 上沒有任何效果。
<a href="javascript:void(0)">按一下此處什麼也不會發生</A>
下面的代碼創建了一個超級連結,使用者按一下時會提交表單。
<a href="javascript:void(document.form.submit())">按一下此處提交表單</A>
使用javascript的時候,通常我們會通過類似:<a href= HTTP://www.webyi.com/wschool/program/javascript/20091231/"#" onclick=" javascript:方法">提交</a> 的方式,通過一個偽連結來調用javascript方法。 這種方法有一個問題是:雖然點擊該連結的時候不會跳越網頁面,但是捲軸會往上滾,解決的辦法是返 回一個false。
如下所示:
<a href= HTTP://www.webyi.com/wschool/program/javascript/20091231/"#" onclick="javascript:方法;return false;" >提交</a>
<a href= HTTP://www.webyi.com/wschool/program/javascript/20091231/"javascript:void(0)" onclick="javascript :方法;return false;" >提交</a>
<a href= HTTP://www.webyi.com/wschool/program/javascript/20091231/"#this" onclick="javascript:方法">xx </a>
#包含了一個位置資訊預設的錨點是#top 也就是網頁的上端,而javascript:void(0) 僅僅表示一個死連結。 這就是為什麼有的時候頁面很長流覽連結明明是#可是跳動到了頁首,而javascript:void(0) 則不是如此所以調用腳本的時候最好用void(0)。
所以我們在做頁面無刷新時用void(0)比較多,一般是Ajax,看一下Ajax的web頁面的話,一般都會看到有很多的void(0),所以在使用void(0)之前,最好先想一想這個頁面是否需要整體刷新。