2008-10-01 50 views

Trả lời

11

Bài viết JavaScript của Wikipedia liệt kê các phiên bản JS của trình duyệt. forEach là part of JavaScript 1.6. Vì vậy, nó được hỗ trợ thực sự bởi hầu hết các trình duyệt, ngoại trừ Opera 9,02 (mà tôi vừa thử nghiệm). Opera 9.5 (mà tôi vừa cài đặt!) Hỗ trợ nó, cùng với indexOf cho Array.

Đáng ngạc nhiên, nó không chính thức. Tôi không thấy hỗ trợ của nó trong trang ECMAScript support in Opera 9.5. Có lẽ đó là một sự bỏ qua hoặc có lẽ chỉ là một phần hỗ trợ mà họ không muốn quảng cáo.

+5

Wikipedia không liệt kê các phiên bản nữa và tôi không thể tìm thấy danh sách đầy đủ trong bất kỳ bài viết nào. – phihag

+1

@phihag: http://en.wikipedia.org/wiki/JavaScript#Version_history –

3

Tất cả các trình duyệt hiện đại nhưng IE.

+70

Vì vậy, đó là: "Tất cả các trình duyệt hiện đại". – tuomassalo

0

Thư viện ứng dụng khách AJAX của Microsoft thêm phần này vào nguyên mẫu Array vì vậy nếu bạn có thư viện máy khách đó trong trang web của mình thì bạn sẽ có nó chắc chắn.

+0

Điều này có thay đổi việc triển khai mảng trong IE không? thời gian qua tôi đã kiểm tra, mở rộng đối tượng Array trong IE không thành công. – scunliffe

+0

Tôi nghĩ như vậy, tôi hầu như không nghĩ rằng nhóm MS AJAX sẽ làm cho IE bị phá vỡ: P –

11

Kể từ IE không hỗ trợ nó (thậm chí không v8), tôi sử dụng jQuery.each() - http://docs.jquery.com/Utilities/jQuery.each

+2

Không phải của V8 Chrome, không phải của IE? – alex

+6

v8 = phiên bản 8. V8 = Google V8. –

+0

Để sử dụng tương thích IE8: thay vào đó, 'for (var i = 0; i Stano

0

Nếu bạn cần tất cả các trình duyệt để hỗ trợ này và khác JavaScript 1,6-1,8 chức năng, tôi sẽ đề nghị sử dụng thư viện jPaq tùy chỉnh. Các chức năng được thực hiện theo cách được đề xuất bởi Mozilla.

19

Tôi vừa chọn câu hỏi này cho một câu hỏi khác: JavaScript for...in vs for.

Trên kangax's ECMAScript 5 compatibility table, Array.forEach nhận được 'có' cho tất cả các trình duyệt ngoại trừ IE8.

Kể từ tháng 9 năm 2011, chia sẻ trình duyệt IE trên thiết bị máy tính để bàn là less than 40%at least 8% of browsers are IE 9.

Nói cách khác, Array.forEach hiện được hỗ trợ bởi khoảng 70% trình duyệt trên máy tính để bàn. Rõ ràng, con số này thay đổi đáng kể, tùy thuộc vào lãnh thổ và các yếu tố khác - một số khu vực hoặc quốc gia (chẳng hạn như Brasil) có tỷ lệ người dùng Chrome cao hơn, và một số (chẳng hạn như Trung Quốc) có nhiều người dùng hơn trên IE6 và IE8 .

Tôi chưa chọn, nhưng hỗ trợ di động (trên trình duyệt WebKit và Opera) có thể còn cao hơn nữa.

+3

+1 cho liên kết đến bảng của kangax – DanMan

+0

Mà vẫn còn đủ để trở thành một vấn đề trong ngày và tuổi tác này :-(đi cho jquery mỗi thay thế. –

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