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