我想確定一個顏色是否作爲一個可選參數提供給一個函數。爲了確定這一點,我只是寫如果(顏色){...}和提供NaN,如果我不想有一種顏色。ActionScript的黑色值是NaN
但是,看起來顏色黑色(0x000000)也等於NaN。我如何確定提供的顏色編號參數是否存在,如果將0x000000作爲參數傳遞,我該如何確定?
我想確定一個顏色是否作爲一個可選參數提供給一個函數。爲了確定這一點,我只是寫如果(顏色){...}和提供NaN,如果我不想有一種顏色。ActionScript的黑色值是NaN
但是,看起來顏色黑色(0x000000)也等於NaN。我如何確定提供的顏色編號參數是否存在,如果將0x000000作爲參數傳遞,我該如何確定?
一些源代碼將是適當的。
這聽起來像你說的,下面是等價的:
if (NaN) {}
if (0x000000) {}
這是真的。我想你想:
if (isFinite(color)) {}
Adobe說明:http://help.adobe.com/en_US/AS3LCR/Flash_10.0/package.html#isFinite()
我不懷疑你,但爲什麼0x000000不是數字?我認爲這將等於零?我在網上搜索,看起來這是對的,但我找不到解釋。 – Sandro 2010-04-06 14:53:31
它不是0 = NaN,它是在if語句中的NaN與0一樣計算爲false。 NaN有特殊的比較規則。 – drawnonward 2010-04-10 06:32:22
檢查你的假設。 0x000000爲0不是NaN。要檢查NaN,您應該使用isNaN。另外,請注意:「0x000000」(字符串)與0x000000(代表0的十六進制文字)不同。 – 2010-04-05 04:28:33