2 回答

TA貢獻1811條經(jīng)驗 獲得超5個贊
作“與”運算,最簡單的理解是,可以把兩個數(shù)化為二進制來看看,比如
10的二進制是1010
12的二進制是1100
那么10&12= 1000(這是二進制)
也就是8
如果i & j不等于0,那么條件是為true的

TA貢獻1842條經(jīng)驗 獲得超21個贊
眾所周知,& 運算符查看兩個表達式的二進制表示法的值,并執(zhí)行按位“與”操作。
i&j的運算返回i,j的數(shù)據(jù)類型,此代碼返回數(shù)值類型。
if括號內(nèi)都知道只能判斷boolean類型,javascript定義如下:
Boolean 表達式
一個值為 true 或者 false 的表達式。如果需要,非 Boolean 表達式也可以被轉(zhuǎn)換為 Boolean 值,但是要遵循下列規(guī)則:
1、所有的對象都被當作 true。
2、當且僅當字符串為空時,該字符串被當作 false。
3、null 和 undefined 被當作 false。
4、當且僅當數(shù)字為零時,該數(shù)字被當作 false。
因此你會發(fā)現(xiàn) if(i&j)返回的是true,遵循了條件1,因為i&j返回的數(shù)值對象。
其次數(shù)值類型與boolean作為if條件時,if值識別數(shù)值類型返回的0和1,0代表false,1代表true,其他返回值與true或者false運算都視為false。
添加回答
舉報