首頁 > web前端 > js教程 > 主體

javascript:void什麼意思

藏色散人
發布: 2023-01-03 09:28:03
原創
16989 人瀏覽過

javascript:void是Javascript中void運算子的一種用法格式;void運算子指定要計算一個表達式但是不傳回值;開發者可以使用void實作a標籤在點擊時不發生跳轉,也可以採用void0取undefined。

javascript:void什麼意思

本文操作環境:windows7系統、javascript1.8.5版、Dell G3電腦。

Javascript中void 是一個運算符,該運算子指定要計算一個表達式但不傳回值。可以使用void實現a標籤在點擊時不會發生跳躍。也可以採用void0取undefined。

void 運算子用法

javascript:void (expression)
javascript:void expression
登入後複製

expression 是一個要計算的 Javascript 標準的表達式。表達式外側的圓括號是選的,但是寫上去是個好習慣。

你可以使用 void 運算子指定超級連結。表達式會被計算但是不會當前文件處裝入任何內容。上面的程式碼創建了一個超級鏈接,當用戶以後不會發生任何事。當使用者連結時,Javascript 上沒有任何效果。

在ECMAScript 262規範中的描述

The void Operator
The production UnaryExpression : void UnaryExpression is evaluated as follows:
Let expr be the result of evaluating UnaryExpression.
Call GetValue(expr).
Return undefined.
NOTE: GetValue must be called even though its value is not used because it may have 
observable side-effects.
登入後複製

從規範中可以了解到無論void後的表達式是什麼,void運算子都會傳回undefined

【推薦學習:js基礎教學

為什麼要用void

undefined 在Javascript 中並不是保留字與關鍵字

function isUndefined(param) {
    let undefined = 'hello world';    
    return undefined === param;
}
登入後複製

我們可以在一個函數的上下文中定義一個變數叫undefined, 這個時候如果要存取真正的undefined 只能透過全域作用域來取undefined

window.undefined;
GLOBAL.undefined;
登入後複製

遺憾的是window 和GLOBAL 依然可以在函數上下文中定義, 所以從他們身上取undefined 也不是安全可靠的方法

function test() {    let 
        undefined = 'hello world',        
        window = { undefined: 'joke' },
        f = {}
    ;    
        console.log(undefined);    
        console.log(window.undefined);    
        console.log(f.a === undefined);    
        console.log(f.a === void 0);
}
登入後複製

判斷undefined

function isUndefined(param) { 
   return param === void 0;
}
另外一种方式
function getUndefined() {
    return;
};
    function isUndefined(param) {    
    return param === getUndefined();
}
登入後複製

這種方式可行是因為一個函數不指定回傳值將預設回傳undefined, 缺點是為了判斷undefined 還要宣告一個函數, 效能上有所損耗。

優先權

void 優先權僅次於。 [] ()

總結:

透過採用void 0 取undefined 比採用字面上的undefined 更安全,應該優先採用void 0 這種方式。

填充的href確保點擊時不會產生頁面跳轉, 避免為a標籤添加點擊事件使用 return false 組織預設行為。

以上是javascript:void什麼意思的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板