JavaScript 逗號(hào)運(yùn)算符
■知識(shí)點(diǎn)
逗號(hào)運(yùn)算符是二元運(yùn)算符,它能夠先執(zhí)行運(yùn)算符左側(cè)的操作數(shù),然后再執(zhí)行右側(cè)的操作數(shù),最后返回右側(cè)操作數(shù)的值。
■實(shí)例設(shè)計(jì)
逗號(hào)運(yùn)算符可以實(shí)現(xiàn)連續(xù)運(yùn)算,如多個(gè)變量連續(xù)賦值。
var a = 1, b = 2, c = 3, d = 4;
等價(jià)于:
var a = 1;
var b = 2;
var c = 3;
var d = 4;
注意:
與條件運(yùn)算符、邏輯運(yùn)算符根據(jù)條件來(lái)決定是否執(zhí)行所有操作數(shù)不同,逗號(hào)運(yùn)算符會(huì)執(zhí)行所有的操作數(shù),但并非返回所有操作數(shù)的結(jié)果,它只返回最后一個(gè)操作數(shù)的值。
for循環(huán)結(jié)構(gòu)的小括號(hào)內(nèi)包含3個(gè)表達(dá)式,第1個(gè)表達(dá)式為初始化值,第2個(gè)表達(dá)式為監(jiān)測(cè)條件,第3個(gè)表達(dá)式為遞增表達(dá)式。使用逗號(hào)運(yùn)算符可以在3個(gè)表達(dá)式中添加多個(gè)額外的計(jì)算任務(wù),但要確保第2個(gè)表達(dá)式的最后一個(gè)子表達(dá)式返回一個(gè)可控布爾值,否則會(huì)導(dǎo)致死循環(huán)。
for (var a =1, b = 10, c = 100; ++ c, a < b; a ++ , c -- ){
console.log(a * c);
}
逗號(hào)運(yùn)算符的優(yōu)先級(jí)是最低的。在下面的代碼中,賦值運(yùn)算符優(yōu)先于逗號(hào)運(yùn)算符,也就是說(shuō)數(shù)值1被賦值給變量b之后,繼續(xù)賦值給變量a,最后才執(zhí)行逗號(hào)運(yùn)算符。
a = b=1,c=2; //連續(xù)執(zhí)行和賦值
console.log(a); //返回1
console.log(b); //返回1
console.log(c); //返回2
點(diǎn)擊加載更多評(píng)論>>