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. Использование литерала более локанично, есть мнения? |
возможно, в старых браузерах прототип работает быстрее
|
[].push - создание нового объекта массива и обращение к его методу
Array.prototype.push - обращение к методу уже существующего объекта массива Немного не точно написал, но думаю поймёте. |
А, теперь ясно. Спасибо.
|
Часовой пояс GMT +3, время: 04:18. |