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


返回数组中的最大值,var arr = [2, 4, 6, 8, 5, 0]; alert(Math.max.apply(this, arr));

为什么这里要加上一个apply呢,初学js,不是很懂,麻烦可以将详细一些,谢谢

慕雪6442864
浏览 727回答 2
2回答

精慕HU

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);
打开App,查看更多内容
随时随地看视频慕课网APP