为了账号安全,请及时绑定邮箱和手机立即绑定

返回数组中的最大值,var arr = [2, 4, 6, 8, 5, 0];?

返回数组中的最大值,var arr = [2, 4, 6, 8, 5, 0];?

慕雪6442864 2019-02-04 10:05:17
返回数组中的最大值,var arr = [2, 4, 6, 8, 5, 0]; alert(Math.max.apply(this, arr));为什么这里要加上一个apply呢,初学js,不是很懂,麻烦可以将详细一些,谢谢
查看完整描述

2 回答

?
精慕HU

TA贡献1845条经验 获得超8个赞

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);

查看完整回答
反对 回复 2019-03-15
  • 2 回答
  • 0 关注
  • 778 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信