2011-12-06 5 views
5

comportamiento extraño y estoy fijando esta pregunta para ver si alguien sabe la razón de esto o si el código es incorrecto simplemente:IE7 Javascript y el uso de la cadena como una matriz

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 

Ahora mi pregunta es : ¿Está utilizando un texto como una matriz no admitida en IE7, el código es incorrecto en general y está bien usar .charAt(i) en lugar de string[i]?

PD: Hay some guy who answered his own question con respecto a esto exactamente. Mi pregunta permanece: ¿Dónde está esto documentado? ¿Es esto un IE "error" regular?

Respuesta

8

Acceso a la cadena gama-como no es estándar en ECMAScript 3:

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

acceso array de caracteres similares (la segunda forma más arriba) no es parte de ECMAScript 3. Es un JavaScript y la característica ECMAScript 5.

Lo que hace es dividir la cadena:

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

perfecto! Así que IE lo hizo correctamente, todos los otros navegadores son buenos para mí usando cadenas como matrices. –

Cuestiones relacionadas