javascript:void(0)

void是一元運算符,它出如今操做數以前,操做數能夠是任意類型,操做數會照常計算,但忽略計算結果並返回undefined。因爲void會忽略操做數的值,所以在操做數具備反作用的時候使用void來讓程序更具語義 
console.log(void 0); // undefined
console.log(void(0)); // undefined
 
常見的做用:
替代undefined
因爲undefined並非一個關鍵字,其在IE8-瀏覽器中會被重寫,在高版本函數做用域中也會被重寫;因此能夠用void 0 來替換undefined 
var undefined = 10;
console.log(undefined);//IE8-瀏覽器下爲10,高版本瀏覽器下爲undefined
function test(){
    var undefined = 10;
    console.log(undefined);
}
console.log(test());//全部瀏覽器下都是10

javascript:void(0) 中最關鍵的是 void 關鍵字, void 是 JavaScript 中很是重要的關鍵字,該操做符指定要計算一個表達式可是不返回值。javascript

如下實例中參數 a 將返回 undefined :java

var a,b,c;
  a = void ( b = 5, c = 7 );
  console.log('a = ' + a + ' b = ' + b +' c = ' + c );
//a = undefined b = 5 c = 7

href="#"與href="javascript:void(0)"的區別

# 包含了一個位置信息,默認的錨是#top 也就是網頁的上端。瀏覽器

而javascript:void(0), 僅僅表示一個死連接。函數

在頁面很長的時候會使用 # 來定位頁面的具體位置,格式爲:# + idspa

若是你要定義一個死連接請使用 javascript:void(0) 。code

<a href="javascript:void(0);">點我沒有反應的!</a>
<a href="#pos">點我定位到指定位置!</a>
<br>
...
<br>
<p id="pos">尾部定位點</p>
typeof  1; //'number'
typeof (1);//'number'
typeof (); //SyntaxError 語法錯誤

void  0; //undefined
void (0);//undefined
void (); //SyntaxError 語法錯誤

void()僅僅是表明不返回任何值,可是括號內的表達式仍是要運行!!!blog

相關文章
相關標籤/搜索