2012-01-29 22 views
0

は、私がに持っているものであるのJavascript異なる出力以下

var x=["1","2","3","4","5","6"]; 
c = (b = x[1])[0] ; 
alert("B=" + b); 
alert("C=" + c); 

私は、Firefox 9.0.1でこれを実行すると、私は、出力の下に取得します。

B=2 
C=2 

私はIE7で同じを実行すると、私は出力の下に取得します。 IE未定義として表示されている理由

B=2 
C=undefined 

は、私が知っていることはできますか?

ありがとうございます!!!

答えて

4

IE7ではインデックスによる文字列へのアクセスがサポートされていないためです。

これは、すべてのブラウザで動作します:Internet Explorerが文字列のarray-like character accessをサポートしていないためだ

c = (b = x[1]).charAt(0); 
+0

おかげで..私は...あまりにも他人からより多くの応答を返信用 –

1

を。

コードでは、Internet Explorerでサポートされていない次の文字列:"2"の最初の文字にアクセスします。

あなたは同じ結果を達成するためにString.charAt()を使用することができます:返信用

c = (b = x[1]).charAt(0); 
+0

感謝をお待ちしております... –

関連する問題