
void 運算符
void 運算符會對給定的表達式進行求值,然后直接返回 undefined
void 運算符通常只用於獲取 undefined 的原始值,一般使用 void(0)(等同於 void 0)。在上述情況中,也可以使用全局變量undefined 來代替(假定其仍是默認值)。
<script>console.log(void(console.log("OK")));</script>
運行結果
OKundefined
一般我個人稱
javascript:void(0)死鏈接
javasccript:; 空連接
而javasccript:;是為空鏈接,其實他也也是直接返回的undefined,而前者是計算完畢之后返回undefined
推薦使用javascript:;
個人習慣使用前者,好像感覺后置更快點,我感覺在前端就無所謂了!
可以去看看各個大網站是輸入使用連接的
模擬
當用戶點擊一個以 javascript: URI 時,瀏覽器會對冒號后面的代碼進行求值,然后把求值的結果顯示在頁面上,這時頁面基本上是一大片空白,這通常不是我們想要的。只有當這段代碼的求值結果是 undefined 的時候,瀏覽器才不會去做這件 傻事 ,所以我們經常會用 void 運算符來實現這個需求
看代碼:
<ahref="javascript:void(0);">這個鏈接點擊之后不會做任何事情,如果去掉 void(),點擊之后整個頁面會被替換成一個字符 0。</a><ahref="javascript:void(document.body.style.backgroundColor='green');">點擊這個鏈接會讓頁面背景變成綠色。</a>
參考資料
- https://segmentfault.com/q/1010000002435291
- https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Operators/void
- http://www.koikikukan.com/archives/2015/03/11-002222.php
番外篇關於<a href="#"></a>
# 包含了一個位置信息 , 默認的錨是 #top , 也就是網頁的上端
如果想完成跟右側等價的寫法,我提供了三種方式進行參考
<ahref="#"onclick="returnfalse;">href</a><ahref="javascript:return false;"onclick="調用的js方法">href</a><ahref="####">這里是空鏈接,沒有經過測試</a>
