2011-12-06 9 views
5

奇妙な行動として文字列を使用して、私はちょうど、誰もがその理由を知っているか、私のコードは単純に間違っているかどうかどうかを確認するために、この質問を投稿しています:IE7 Javascriptと配列

string text = "~"; //yip, let's take some weird character 
alert(text[0]); 
//all major browsers output "~" 
//IE6 & 7: undefined 
alert(text.charAt(0)); 
//works in all browsers 

今、私の質問は:IE7でサポートされていない配列としてテキストを使用していますが、一般的にコードが間違っていて、string[i]の代わりに.charAt(i)を使用しても問題ありませんか?

PS:正確にはsome guy who answered his own questionがあります。私の質問は残っています。これは通常のIEのバグですか?ストリングアレイ状にアクセス

答えて

8

はECMAScriptの3標準ではない:

https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/String#section_5

アレイ状文字アクセス(上記第二の方法) のECMAScript 3の一部ではないこれは、JavaScriptのありますとECMAScript 5の機能です。

何をすることは、文字列に分割されています

var textChars = text.split(''); 
alert(textChars[0]); 
+0

パーフェクト!だからIEは正しく、他のすべてのブラウザは私が配列として文字列を使用していいです。 –