2013-09-01 105 views
0

Javascript陣列不能在IE7及更早版本中工作,但在IE10中工作 這是我的代碼,它在IE10中工作,但不在IE7中工作。Javascript陣列不能在IE7和舊版本中工作,但在IE10中工作

number = "123"; 
    var j=0; 
    alert(number[j]); 

結果在IE7

未定義

結果在IE10

請讓我知道如何在舊版瀏覽器中將變量值作爲單維數組調用。

+1

即使在IE10中,您的代碼也會在任何瀏覽器中提醒'undefined'。你確定你沒有'number ='123';'? – Teemu

+0

也許警報(字符串(數字)[j]); – mplungjan

+0

它的字符串..不是數字..糾正了這個問題.. – logan

回答

4

JavaScript數組在IE7

這不是一個陣列不工作「不工作」 - 你有一個字符串值這裏(該瀏覽器將其轉換爲一個,因爲換號沒有定義這種類型的訪問),並嘗試使用從零開始的索引訪問它的單個字符。

舊的IE根本不支持這個 - 所以將其轉換爲字符串(隱式/顯式地),然後使用String對象的charAt方法。

+0

這將工作在所有瀏覽器?在不支持Javascript的瀏覽器中, – logan

+1

不起作用;) – c69

0

(''+number)[j]應該可以在任何瀏覽器中工作,假設number無論如何都可以被強制爲String

相關問題