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

es Math对象的max方法的apply()方法

es Math对象的max方法的apply()方法

慕尼黑5688855 2019-02-13 18:23:44
`var num=[1,2,3]var themax=Math.max.apply(Math, num);`这种写法中:两点疑问1:apply()两参数一个是在其中运行函数的作用域,另一个是参数数组而且max()函数默认接受的是一串数值,但是我还是无法理解传入这个Math对象有什么用 默认Math.max()代表Math对象内的max()方法,不是一个意思吗这个数组在哪一步转换为一串数值的?2.当我传入的对象为null时,运行结果依然成立,为什么
查看完整描述

1 回答

?
慕少森

TA贡献2019条经验 获得超9个赞

call和apply的区别知道吧
call(this, 1, 2, 3, ...);
apply(this, [1, 2, 3, ...]);
用apply就是为了把数组换成参数列表,第一个this的位置写null更好,因为不会污染其他的this上下文环境,这个位置就是一个占位,没有实际意义。 
你想知道的底层原理需要看apply方法的源码,那就不是javascript范畴的了,需要看开发源码

查看完整回答
反对 回复 2019-02-25
  • 1 回答
  • 0 关注
  • 929 浏览
慕课专栏
更多

添加回答

举报

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