在我正在處理的一些代碼中,我應該處理十個獨立參數,它們可以取兩個值(0或1)中的一個。這創造了2^10個不同的條件。有些情況從未發生過,可以省略,但是確實發生的情況仍然很多,並且使得所有情況都是瘋狂的。標誌位計算和檢測
我想使用10 if
語句而不是巨大的switch
。爲此,我知道我應該使用標誌位,或者標誌字節,因爲語言是javascript,它更容易與10字節的字符串一起使用來表示10位二進制文件。
現在,我的問題是,我不知道如何實現這一點。我已經看到這在API
s中使用,其中多個可選選項暴露爲數字1,2,4,8,...,n ^(n-1),它們是1,10,100,1000等的十進制等價物二進制。因此,如果我們撥打電話bar = foo(7)
,酒吧將是一個對象,無論三個最右邊的標誌啓用了什麼選項。
我可以將十進制數轉換爲二進制數,並在每個if
語句中檢查是否設置了相應的數字。但我不知道,有沒有辦法確定n-th
的十進制數字是零還是一位二進制形式,沒有實際上是在做轉換嗎?
WOW!很快!我想馬上接受你的回答,但顯然我應該等待至少9分鐘。非常感謝。 – 2010-04-25 07:24:56
+1正在輸入類似的內容,但速度更快;) – 2010-04-25 07:28:50