当前位置: 移动技术网 > IT编程>开发语言>JavaScript > 分享js中apply和Math.max()函数的使用实例

分享js中apply和Math.max()函数的使用实例

2018年09月30日  | 移动技术网IT编程  | 我要评论

分享js中apply和math.max()函数的使用实例

var arr = [1,4,5,2,9];
console.log(math.max.apply(null,arr));

这里输出9,这里做出简单的解释:

math.max()方法,支持传递多个参数,比如:math.max(1,4,5,2,9)

但是它不支持直接传递一个数组作为参数,比如:math.max(new array(1,4,5,2,9))。

function.apply()是js的一个oop特性,一般用来模拟继承和扩展this的用途,对于上面这段代码,可以这样去理解:

xxx.apply是一个调用函数的方法,其参数为:apply(function, args),

function为要调用的方法,args是参数列表,当function为null时,默认为上文,即

math.max.apply(null, arr)

可认为是 apply(math.max, arr)

然后,arr是一个参数列表,对于max方法,其参数是若干个数,即

math.max(a, b, c, d, ...)

当使用apply时,把所有参数加入到一个数组中,即

arr = [a, b, c, d, ...]

代入到原式,

math.max.apply(null, [a, b, c, d, ...])

实际上等同于

math.max(a, b, c, d, ...)

在此处,使用apply的优点是在部分js引擎中提升性能。

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网