Потому что реализация метода slice использует this в качестве ссылки на массив к которому применятся метод.
Slice удается применить к arguments потому что объект является массиво-подобным (хранит свойства под именами '1', '2', '3'; имеет свойство length). Этого достаточно.
Смотря что вам нужно. Применяются для эмулирования полезных техник функционального программирования (каррирование к примеру). В стандарт ES5 добавлен метод bind для постоянного связывания с объектом.
|