2012-01-02 50 views
2

我有下面的代碼:爲什麼JavaScript將01002004顯示爲6295553?

<script type="javascript"> 
    var item = 001002004; 
    alert(item); 
</script> 

每當我看到查看源代碼這個網頁在我的網頁瀏覽器,我看到這幾行代碼完全一樣一樣在這裏。但是當alert()函數運行時,我看到一條未知的消息。它修正'6295553'。我不知道這個未知數值來自哪裏。我確信任何事情都不會發生在item之前,它在alert之前沒有變化。

您認爲如何?有什麼問題 ?

+0

你是說這是你網頁上的_only_代碼嗎?該值在緊急警報之前設置? – nnnnnn 2012-01-02 07:54:59

+0

我有很多代碼,但關心這一點,我可以在view-source中看到正確的值,但我在alert()中獲得了另一個值。 – 2012-01-02 07:57:36

+0

我不認爲這是有道理的。我無法複製它。 – riship89 2012-01-02 07:57:52

回答

5

任何前綴爲0的數字都將被視爲八進制數。和0X爲六十進制

我猜測,你有這就像下面或使用parseInt函數函數來解析字符串,當你提醒它,你看到一個不同的值的數值..

var item = 001002004; 
alert(item); 

或者可能是你正在做的事情像下面

var item = '001002004'; 
alert(parseInt(item)); 

查看詳情parseInt @MDN

DEMO HERE

+0

你的演示沒有工作 - 你必須使用jsfiddle。 – Hogan 2012-01-02 08:04:38

+0

現在看,忘了添加鏈接;) – 2012-01-02 08:05:19

+0

是的,關鍵是我的價值觀前後有''''。 – 2012-01-02 08:07:48

1

嘗試將腳本類型更改爲「text/javascript」<script type="text/javascript">,或根本不使用type屬性。見this jsfiddle

0

你確定你沒有改變變量 - 也許有一個帽子。例如

var item = 'some value'; 
    alert(Item); 
相關問題