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, время: 07:45. |