Показать сообщение отдельно
  #1 (permalink)  
Старый 13.11.2013, 10:36
Аватар для kuzroman
Кандидат Javascript-наук
Отправить личное сообщение для kuzroman Посмотреть профиль Найти все сообщения от kuzroman
 
Регистрация: 26.11.2010
Сообщений: 124

Array.prototype.slice()
У Джона Резига встретил такой пример:

<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. Использование литерала более локанично, есть мнения?
Ответить с цитированием