2012-10-01 8 views

Odpowiedz

4

Zgodnie z MDN, "Wywołuje funkcję o podanej wartości i argumentach dostarczonych jako tablica (lub tablica jak obiekt)". Biorąc pod uwagę, że arguments jest obiektem podobnym do tablicy, nie powinno być żadnych ograniczeń w jego używaniu.

W rzeczywistości description mówi wyraźnie, że arguments jest prawidłowym parametrem.

+1

Też tak pomyślałem, ale wciąż widzę "Array.prototype.slice.call (argumenty)" w wielu "profesjonalnych" przykładach kodu, pomyślałem, że musi istnieć ważny powód ... – David

+0

Jest to konieczne, jeśli chcesz wykonywać na nich operacje Array, takie jak dołączanie, przesuwanie lub pchanie, więc większość programistów, których znam, robi to z przyzwyczajenia bardziej niż cokolwiek innego. – saml

0

Wsparcie to unknown na dysku MDN.

Tylko Firefox akceptuje obiekty podobne do Array do drugiego argumentu o numerze Function.prototype.apply(). Zachowałbym ostrożność przed przekazaniem bezpośrednio arguments.