码迷,mamicode.com
首页 > 移动开发 > 详细

利用Apply的参数数组化来提高代码的优雅性,及高效性

时间:2016-08-22 19:51:02      阅读:197      评论:0      收藏:0      [点我收藏+]

标签:

利用Apply的参数数组化来提高代码的优雅性,及高效性

Function.apply()在提升程序性能方面的技巧

我们先从Math.max()函数说起,Math.max后面可以接任意个参数,最后返回所有参数中的最大值。

比如 
alert(Math.max(5,8))   //8
alert(Math.max(5,7,9,3,1,6))   //9

但是在很多情况下,我们需要找出数组中最大的元素。
var arr=[5,7,9,1]
alert(Math.max(arr))    // 这样却是不行的。一定要这样写

function getMax(arr){
    var arrLen=arr.length;
    for(var i=0,ret=arr[0];i<arrLen;i++){
        ret=Math.max(ret,arr[i]);       
    }
    return ret;
}

这样写麻烦而且低效。如果用 apply呢,看代码:
function getMax2(arr){
    return Math.max.apply(null,arr);
}
两段代码达到了同样的目的,但是getMax2却优雅,高效,简洁得多。

利用Apply的参数数组化来提高代码的优雅性,及高效性

标签:

原文地址:http://www.cnblogs.com/MrZouJian/p/5796665.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!