JS中如何通过apply()函数实现复杂函数调用场景的实例剖析?
- 内容介绍
- 文章标签
- 相关推荐
本文共计762个文字,预计阅读时间需要4分钟。
本例讲述了JavaScript中apply()函数的应用。分享给广大读者,仅供参考:
首先,从Math.max()函数说起,Math.max()后面可以接收任意数量的参数,最后返回所有参数中的最大值。例如:javascriptalert(Math.max(1, 2, 3, 4, 5)); // 输出:5
本文实例讲述了JS中apply()的应用。分享给大家供大家参考,具体如下:
先从Math.max()函数说起,Math.max后面可以接收任意个参数,最后返回所有参数中的最大值。
比如:
alert(Math.max(5,8));//8 alert(Math.max(5,7,3,1,9,2));//9
但是在很多情况下,我们需要找出数组中最大的元素。
比如:
/* * 找出数组中最大的数 */ var arr = [1,4,9,6]; //alert(Math.max(arr));//NaN,这种用法不对 function max(arr){ var arrLen = arr.length; var maxValue = arr[0]; for(var i=0;i<arrLen;i++){ var maxValue = Math.max(maxValue,arr[i]); } return maxValue; } alert(max(arr));//9
上面的写法麻烦而且低效。我们用apply()试试。
/* * 用apply()找出数组中最大的数 */ var arr = [1,4,9,6]; function getMax1(arr){ return Math.max.apply(Math,arr);//第一个参数也可以填this或null } alert(getMax1(arr));//9
这两段代码达到了相同的效果,但是getMax1()却优雅,简洁,而且高效。
本文共计762个文字,预计阅读时间需要4分钟。
本例讲述了JavaScript中apply()函数的应用。分享给广大读者,仅供参考:
首先,从Math.max()函数说起,Math.max()后面可以接收任意数量的参数,最后返回所有参数中的最大值。例如:javascriptalert(Math.max(1, 2, 3, 4, 5)); // 输出:5
本文实例讲述了JS中apply()的应用。分享给大家供大家参考,具体如下:
先从Math.max()函数说起,Math.max后面可以接收任意个参数,最后返回所有参数中的最大值。
比如:
alert(Math.max(5,8));//8 alert(Math.max(5,7,3,1,9,2));//9
但是在很多情况下,我们需要找出数组中最大的元素。
比如:
/* * 找出数组中最大的数 */ var arr = [1,4,9,6]; //alert(Math.max(arr));//NaN,这种用法不对 function max(arr){ var arrLen = arr.length; var maxValue = arr[0]; for(var i=0;i<arrLen;i++){ var maxValue = Math.max(maxValue,arr[i]); } return maxValue; } alert(max(arr));//9
上面的写法麻烦而且低效。我们用apply()试试。
/* * 用apply()找出数组中最大的数 */ var arr = [1,4,9,6]; function getMax1(arr){ return Math.max.apply(Math,arr);//第一个参数也可以填this或null } alert(getMax1(arr));//9
这两段代码达到了相同的效果,但是getMax1()却优雅,简洁,而且高效。

