var undefined = 10; // undefined -- chrome // 10 -- IE 8 alert(undefined); 複製代碼
(function() { var undefined = 10; // 10 -- chrome alert(undefined); })(); 複製代碼
MDN 定義: The void operator evaluates the given expression and then returns undefined.javascript
意思是說 void 運算符能夠對給定的表達式求值,而且不管後面跟的是什麼,都是返回 undefined,因此說不管是void 0 仍是void 1都是能夠的,更重要的是void不能被重寫。html
當用戶點擊一個javascript: URI
時,它會執行URI中的代碼,而後用返回的值替換頁面中的內容,除非返回的事undefined。java
<a href="javascript:void(0);"> 這個連接點擊以後不會作任何事情, 若是去掉 void(),點擊以後整個頁面會被替換成一個字符 0。 </a> <p> chrome中即便<a href="javascript:0;">也沒變化,firefox中會變成一個字符串0 </p> <a href="javascript:void(document.body.style.backgroundColor='green');"> 點擊這個連接會讓頁面背景變成綠色。 </a> 複製代碼
注意,雖然這麼作是可行的,但利用 javascript: 僞協議來執行 JavaScript 代碼是不推薦的.chrome