JavaScript void 運(yùn)算符
■知識(shí)點(diǎn)
void是一元運(yùn)算符,它可以出現(xiàn)在任意類型的操作數(shù)之前執(zhí)行操作數(shù),但卻忽略操作數(shù)的返回值,會(huì)返回一個(gè)undefined。void常用于HTML腳本中執(zhí)行JavaScript表達(dá)式,但不需要表達(dá)式的計(jì)算結(jié)果。
■實(shí)例設(shè)計(jì)
在下面的代碼中,使用void運(yùn)算符讓表達(dá)式返回undefined。
var a = b = c = 2; //定義并初始化變量的值
d = void (a -= (b *= (c += 5))); //執(zhí)行void運(yùn)算符,并把返回值賦予給變量d
console.log(a); //返回-12
console.log(b); //返回14
console.log(c); //返回7
console.log(d); //返回 undefined
由于void運(yùn)算符的優(yōu)先級(jí)比較高(14),高于普通運(yùn)算符的優(yōu)先級(jí),所以在使用時(shí)應(yīng)該使用小括號(hào)明確void運(yùn)算符操作的操作數(shù),避免引發(fā)錯(cuò)誤。
在下面的兩行代碼中,由于第1行代碼沒有使用小括號(hào)運(yùn)算符,則void運(yùn)算符優(yōu)先執(zhí)行,返回值undefined再與1執(zhí)行減法運(yùn)算,所以返回值為NaN。在第2行代碼中由于使用小括號(hào)運(yùn)算符明確void的操作數(shù),減法運(yùn)算符先被執(zhí)行,然后再執(zhí)行void運(yùn)算,最后的返回值是undefined。
console. log (void 2 - 1); //返回 NaN
console. log (void (2 - 1)); "返回 undefined
點(diǎn)擊加載更多評(píng)論>>