void 運算符會執(zhí)行其內容,并總是返回undefined
-
void()函數同理 - 可用于防止全局變量中的
undefined已被重定義為其他內容
其實undefined、NaN和Infinity都只是全局對象 window 的屬性,可以被賦值。只不過writable設置成了false,所以賦值無效 - 在函數前加
void等于強制讓函數返回值為undefined - 立即調用的函數表達式
在使用立即執(zhí)行的函數表達式時,可以利用void運算符讓 JavaScript 引擎把一個function關鍵字識別成函數表達式而不是函數聲明(語句)。
void function iife() {
var bar = function () {};
var baz = function () {};
var foo = function () {
bar();
baz();
};
var biz = function () {};
foo();
biz();
}();
- JavaScript URIs
當用戶點擊一個javascript:格式的URI 時,它會執(zhí)行URI中的代碼,然后用返回的值替換頁面內容,除非返回的值是undefined。
<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>