Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #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. Использование литерала более локанично, есть мнения?
Ответить с цитированием
  #2 (permalink)  
Старый 13.11.2013, 10:50
Аватар для jsru_
Кандидат Javascript-наук
Отправить личное сообщение для jsru_ Посмотреть профиль Найти все сообщения от jsru_
 
Регистрация: 09.04.2013
Сообщений: 149

возможно, в старых браузерах прототип работает быстрее
Ответить с цитированием
  #3 (permalink)  
Старый 13.11.2013, 11:04
Аватар для Skipp
.
Отправить личное сообщение для Skipp Посмотреть профиль Найти все сообщения от Skipp
 
Регистрация: 30.03.2010
Сообщений: 1,813

[].push - создание нового объекта массива и обращение к его методу
Array.prototype.push - обращение к методу уже существующего объекта массива
Немного не точно написал, но думаю поймёте.
__________________
.

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

А, теперь ясно. Спасибо.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск