`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范畴的了,需要看开发源码
添加回答
举报
0/150
提交
取消