...6, 8, 5, 0]; alert(Math.max.apply(this, arr));
发布网友
发布时间:2022-04-30 16:17
我来回答
共3个回答
热心网友
时间:2022-04-22 21:24
javascript中的函数是首席对象,强调函数也是对象,还是最重要的首席。
Math.max()是一个函数/静态方法。
对于var arr = [2, 4, 6, 8, 5, 0];
通常,看成函数,只需要var m=Math.max(arr);得到最大值。
而看成对象,“函数对象”有apply(对象,参数)的静态方法,作用等于以“参数”激发该“函数对象”运行。
Math.max.apply(this,arr); 这里的this代表对象max,激发max函数对象,传递以arr参数。
等价于写apply(Math.max, arr);等价于Math.max(arr);
热心网友
时间:2022-04-22 22:42
这里apply对数组自动转换为一行形参去调用原函数。是个小小的技巧性的工作,输入参数形式的自动变换。有点类似python中的参数解元组操作.
热心网友
时间:2022-04-23 00:16
1