今天測的時候發現問題了,當數據庫中月份為09的時候就出問題了,用parseInt轉換之後就成0了。好不解。測了好久,沒有發現我代碼中的問題,到google搜了一下,才知道是這麼一回事。
對於parseInt("01")到parseInt("07");parseInt("10") 到 以後都能得到正確的結果,但如果是parseInt("08") 或parseInt("09")則返回0; 首先看parseInt語法:parseInt(string, radix); 如果後面參數沒寫就以第一個的開頭判斷其中string為要轉換的字符串,radix為二進制,八進制,十六進制或十進制。 在默認不指定radix時,當以0x開關時,為十六進制;如果以0開關且第二位不為x,則讓為是八進制,(因為八進制不能有8,9所以報錯返回0)。 如果以1開頭就以十進制,所以10以後就又是對的了所以,在我們用時還是明確指定進位制,以防出錯。 如我們平時都用十進制位,我們就 parseInt("08", 10);
所以,就錯了,在以後用到的時候最好在parseInt這個函數後面加上進制數,保證不出錯,不然,又得差錯好幾個小時。!!!!!!!!!!