У Джона Резига встретил такой пример:
<input id="first"/>
<input id="second"/>
var elems = {
length: 0,
add: function (elem) {
Array.prototype.push.call(this, elem);
},
gather: function (id) {
this.add(document.getElementById(id));
}
};
elems.gather("first");
elems.gather("second");
Мы создаем обычный объект и наделяем его имитируемыми функциональными свойствами массива.
Такой вопрос к знатокам: почему Array.prototyp в данном случае нельзя заменить на литерал [], ведь как я понимаю все что нам нужно от прототипа массива, так это его метод push. Использование литерала более локанично, есть мнения?