Новые методы для работы с массивами
	
    
        
        
	
	
	
В стандарте ECMA-262-5 появилось множество мощных методов облегчающих работу с объектом Array. На данный момент эти методы уверенно работают в обновленных браузерах Mozilla. В других браузерах они находятся на разных стадиях реализации. Тот факт, что они не работают в старых браузерах — не отменяет пользы и удобства их применения. Тем более, что их можно дописать в прототип объекта Array. 
Новые итеративные методы в JavaScript 
	
	 | 
Я не могу дорубить, почему forEach (и возможно другие новые методы) не прикрутили к объекту (не массиву).
К объекту тоже кое-что прикрутили:) И все новые методы массива можно использовать при работе с объектами:
function Example(x, y){ this.x = x; this.y = y; }; Example.prototype.sum = function(){ return this.x + this.y; }; Example.prototype.double = function(){ // Вместо for(var key in this) if(this.hasOwnProperty(key)) ... Object.keys( this ) // Получаем массив, к которому и применяем новые методы .forEach( function( key ){ // this "потерялся" бы, но... this[ key ] = this[ key ] * 2; // У функций тоже есть новое }.bind(this) ); return this; }; var example = new Example(3, 7); alert( example.sum() ); example.double(); alert( example.sum() );Странно, а почему тогда этот пример выдаёт "TypeError: Object # has no method 'forEach'"
var ar = {a:4,b:5}; ar.forEach( function(element, index, array){ console.log(element, index, array); });Странно, что после короткого кода с комментами возник такой вопрос
 Чтобы заработало, твой пример должен выглядеть так:
var ar = {a:4,b:5}; Object.keys(ar).forEach( function(element, index, array){ console.log(this, this[element], element, index, array); }.bind(ar));Все описанные Вами методы реализованы еще в Опере 10.1, Chrome 5 и Safari 4.
О каких разных стадиях реализации идет речь?