Что делает Array.prototype.slice.apply?
Array.prototype.slice.apply(document.querySelector All(tag))
Я так понимаю, что она преобразует в массив объект, но никак не пойму как это происходит? Подскажите, пожалуйста. Возможно будет неплохим примером аналоге без использования Array.prototype, а также хотелось бы получить какие-нибудь примеры с использованием других функций Array.prototype, с небольшим объяснением. Буду крайне признателен за ответ. |
Большое спасибо за ответ.
Про TypedArray я честно говоря не понял. То, что такая конструкция переводит объект в массив я понял, но не понял, почему. Сама фукнция slice урезает массив до заданной длины, а какую она роль играет здесь. Тем более аргументы я не передаю. Что происходит когда я передают объект через apple таким способом. Пробовал с другими функциями массива такое сделать не вышло. |
Цитата:
появились недавно, в IE < 9 не реализованы, внешне от обычных массивов почти ничем не отличаются, но работают напорядок быстрее. Цитата:
т.е. в нашем случае примерно такой код будет альтернативой: function slice (obj) { for (var i = 0, buf = [], m = parseInt(obj.length, 10); i < m; i++) { buf.push(obj[i]); } return buf; } |
Спасибо за пояснение.
|
Цитата:
|
Часовой пояс GMT +3, время: 17:25. |