Jeśli pytasz mnie, aby uzyskać max tablicy, chciałbym po prostu zrobić:dlaczego dzwoni stosować na Math.max działa i bez doens't
var nums = [66,3,8,213,965,1,453];
Math.max.apply(Math, nums);
oczywiście, mogę również zrobić: nums.sort (function (a, b) {return a - b} .pop (nums.length);
ale muszę być szczera, muszę wiedzieć DLACZEGO to działa - używając .apply (matematyka, nums) Jeżeli właśnie to zrobił.
Math.max(nums);
które nie praca.
za pomocą Zastosuj, I przekazać Math jako ten - i nums dla tablicy. Ale chcę poznać zawiłości "dlaczego", że pierwszy działa, a drugi nie. Jaka magia się dzieje?
Jest coś fundamentalnego, o czym nie pakuję swoich mózgów. Czytałem kilka o "zadzwoń i aplikuj", ale wiele razy fajne sztuczki mogą być podobne do tych powyżej i czuję, że brakuje mi czegoś głębszego tutaj.
Przeczytaj o tym, co ".apply" robi: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/apply –