Для того, чтобы из аргументов JavaScript функции "отрезать" первые Х значений, используется метод slice:
Например такая функция вернет "3,4":
Используется вызов через Array.prototype.call(array, params) потому, что arguments - псевдо-массив и не содержит методов прототипа массива. С помощью call мы явно вызываем нужный метод из прототипа Array с контекстом arguments.
Таким образом, такой подход используется когда нужно срезать входящие параметры функции JavaScript.
Array.prototype.slice.call(arguments, X);
Например такая функция вернет "3,4":
(function(){
var args = Array.prototype.slice.call(arguments, 2);
alert(args); // Returns: 3,4
})(1, 2, 3, 4);
Используется вызов через Array.prototype.call(array, params) потому, что arguments - псевдо-массив и не содержит методов прототипа массива. С помощью call мы явно вызываем нужный метод из прототипа Array с контекстом arguments.
Таким образом, такой подход используется когда нужно срезать входящие параметры функции JavaScript.
Отсюда понятно что он делает, но не объясняется как. Для любопытствующих ссылка: http://stackoverflow.com/questions/7056925/how-does-array-prototype-slice-call-work
ОтветитьУдалитьспасибо за ссылочку:)
Удалить