Я прохожу через превосходный Advanced javascript tutorial Джона Ресига, и я не совсем понимаю, в чем разница между следующими вызовами: (обратите внимание, что «аргументы» являются встроенным javascript-словом и не совсем массив, следовательно, взлом с Array.slice вместо того, чтобы просто вызывающее arguments.slice)Разница между Array.slice и Array(). 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(). срезом. В чем же разница между этими двумя и почему Array.slice.call ведет себя так, как ожидалось? (который возвращает все, кроме первого элемента списка аргументов).
Я не знаю, как это было в браузерах '08, но с начала 2013 года `String.substring.call` выдает TypeError в Chrome (так как конструктор` String` не имеет свойства `substring`) , – bfavaretto 2013-01-21 18:42:40