2015-06-17 22 views
-1

我學習javascript並我想明白是怎麼回事,有if聲明,如下所示(從javascript教程拍攝):一個簡單的if語句在javascript需要交代

var count = 2; 

if (count & 2) { 
    document.write(count); 
} 

因爲它將會寫計數。但是,如果我設置計數到(即,使得計數%2仍然)爲什麼計數不寫?

+1

4 2 == 0這是falsey ... –

+1

爲什麼'計數%2'重要嗎?你沒有測試。 – Quentin

+2

不要混淆4和2與4%2 – doldt

回答

6

你都落入位操作:當達到truthy

if將被調用。

2&2是: 10 & 10這是102truthy所以如果succeedes

4&2100 & 0100這是falsy

好嗎?

+0

我明白了 - 謝謝。我當時很蠢 – RGriffiths

+0

@RichardGriffiths不,你沒有。不要低估自己。 –

+0

我的意思是我知道明白。我從其他人那裏得到了......真的。感謝您的幫助 - 現在也明白了。 – RGriffiths

3

&意味着bitwise and

count = 2 
count & 2 => 10 & 10 = 10 (true) 

count = 4 
count & 2 => 100 & 010 = 0 (false) 
+0

從沒有把%和使用&我犯了一個愚蠢的錯誤,但現在瞭解到二進制比較。非常有用的感謝。 – RGriffiths