如果您要求我获取数组的最大值,我会这样做:
var nums = [66,3,8,213,965,1,453];
Math.max.apply(Math, nums);
当然,我也可以这样做: nums.sort(function(a, b){ return a - b}.pop(nums.length);
但我必须说实话。我需要知道为什么有效 - 使用 .apply(Math,nums)。如果我只是这样做:
Math.max(nums);
那是行不通的。
通过使用 apply,我将 Math 作为 - 和数组的 nums 传递。但我想知道第一个有效而后者无效的“为什么”的复杂性。发生了什么魔法?
有一些基本的东西我没有绕开我的大脑。我读过很多关于“打电话和申请”的文章,但很多时候可以有一些很酷的技巧,比如上面的那个,我觉得我在这里错过了一些更深层次的东西。