Я отлично разбираюсь в John Resig Расширенное руководство по javascript, и я не совсем понимаю, в чем разница между следующими вызовами: (обратите внимание, что "arguments" - встроенное javascript-слово и не является точно массивом, следовательно, взлом с Array.slice вместо простого вызова arguments.slice)
>>> arguments
[3, 1, 2, 3]
>>> Array.slice.call( arguments )
3,1,2,3 0=3 1=1 2=2 3=3
>>> Array.slice.call( arguments, 1 )
[]
>>> Array().slice.call( arguments )
3,1,2,3 0=3 1=1 2=2 3=3
>>> Array().slice.call( arguments, 1 )
1,2,3 0=1 1=2 2=3
В основном мое недоразумение сводится к различию между Array.slice и Array(). slice. В чем же разница между этими двумя и почему Array.slice.call ведет себя так, как ожидалось? (который возвращает все, кроме первого элемента списка аргументов).