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