2011-12-06 2 views
5

이상한 행동과 난 그냥 사람이 또는 여부 이유를 알고 있다면 내 코드는 그냥 일반 잘못보고이 질문을 게시 해요 :IE7 자바 스크립트와 배열로 사용하여 문자열

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)을 사용할 수 있습니까?

추신 : 정확도에 대해서는 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.은 자바 스크립트이다 및 ECMAScript 5 기능을 제공합니다.

당신이 문자열을 분할하는 일 :

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

완벽! 그래서 IE가 올바르게 했으므로 다른 모든 브라우저는 문자열을 배열로 사용하는 것이 좋았습니다. –

관련 문제