2011-12-06 24 views
5

hành vi Weird và tôi chỉ đăng câu hỏi này để xem nếu có ai biết lý do cho điều này hay mã của tôi chỉ là đồng bằng sai:IE7 javascript và sử dụng chuỗi như một mảng

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 

Bây giờ câu hỏi của tôi là : Sử dụng văn bản dưới dạng mảng không được hỗ trợ trong IE7, có phải là mã sai nói chung và có OK sử dụng .charAt(i) thay vì string[i] không?

PS: Có some guy who answered his own question về chính xác điều này. Câu hỏi của tôi vẫn còn: Tài liệu này ở đâu? Đây có phải là lỗi "IE" thông thường không?

Trả lời

8

Tiếp cận chuỗi mảng giống như không phải là tiêu chuẩn trong ECMAScript 3:

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

mảng giống như truy cập vật (cách thứ hai ở trên) không phải là một phần của ECMAScript 3. Đây là một hoạt Javascript và tính năng ECMAScript 5.

Những gì bạn làm là tách chuỗi:

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

Perfect! Vì vậy, IE đã làm nó một cách chính xác, tất cả các trình duyệt khác chỉ là tốt đẹp với tôi bằng cách sử dụng chuỗi như mảng. –

Các vấn đề liên quan