您好,登錄后才能下訂單哦!
小編給大家分享一下javascript:void指的是什么意思,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
javascript:void是Javascript中void操作符的一種用法格式;void操作符指定要計算一個表達式但是不返回值;開發者可以使用void實現a標簽在點擊時不發生跳轉,也可以采用void0取undefined。
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
為什么要用 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 這種方式。
填充<a>的href確保點擊時不會產生頁面跳轉, 避免為a標簽添加點擊事件使用 return false 組織默認行為。
以上是“javascript:void指的是什么意思”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。