您好,登錄后才能下訂單哦!
小編給大家分享一下javascript:void指的是什么意思,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
javascript:void是Javascript中void操作符的一種用法格式;void操作符指定要計(jì)算一個(gè)表達(dá)式但是不返回值;開發(fā)者可以使用void實(shí)現(xiàn)a標(biāo)簽在點(diǎn)擊時(shí)不發(fā)生跳轉(zhuǎn),也可以采用void0取undefined。
Javascript中void 是一個(gè)操作符,該操作符指定要計(jì)算一個(gè)表達(dá)式但是不返回值??梢允褂胿oid實(shí)現(xiàn)a標(biāo)簽在點(diǎn)擊時(shí)不會(huì)發(fā)生跳轉(zhuǎn)。也可以采用void0取undefined。
void 操作符用法
javascript:void (expression) javascript:void expression
expression 是一個(gè)要計(jì)算的 Javascript 標(biāo)準(zhǔn)的表達(dá)式。表達(dá)式外側(cè)的圓括號(hào)是選的,但是寫上去是一個(gè)好習(xí)慣。
你可以使用 void 操作符指定超級(jí)鏈接。表達(dá)式會(huì)被計(jì)算但是不會(huì)當(dāng)前文檔處裝入任何內(nèi)容。上面的代碼創(chuàng)建了一個(gè)超級(jí)鏈接,當(dāng)用戶以后不會(huì)發(fā)生任何事。當(dāng)用戶鏈接時(shí),Javascript 上沒有任何效果。
在ECMAScript 262規(guī)范中的描述
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.
從規(guī)范中可以了解到無論void后的表達(dá)式是什么,void操作符都會(huì)返回undefined
為什么要用 void
undefined 在 Javascript 中并不是保留字和關(guān)鍵字
function isUndefined(param) { let undefined = 'hello world'; return undefined === param; }
我們可以在一個(gè)函數(shù)的上下文中定義一個(gè)變量叫 undefined, 這個(gè)時(shí)候如果要訪問真正的 undefined 只能通過全局作用域來取 undefined
window.undefined; GLOBAL.undefined;
遺憾的是 window 和 GLOBAL 依然可以在函數(shù)上下文中定義, 所以從他們身上取 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(); }
這種方式可行是因?yàn)橐粋€(gè)函數(shù)不指定返回值將默認(rèn)返回 undefined, 缺點(diǎn)是為了判斷 undefined 還要聲明一個(gè)函數(shù), 性能上有所損耗。
優(yōu)先級(jí)
void 優(yōu)先級(jí)僅次于. [] ()
總結(jié):
通過采用 void 0 取 undefined 比采用字面上的 undefined 更安全,應(yīng)該優(yōu)先采用 void 0 這種方式。
填充<a>的href確保點(diǎn)擊時(shí)不會(huì)產(chǎn)生頁面跳轉(zhuǎn), 避免為a標(biāo)簽添加點(diǎn)擊事件使用 return false 組織默認(rèn)行為。
以上是“javascript:void指的是什么意思”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。