为什么 Math.max.apply(null,arr) 可以求最大最小值
【摘要】 apply用法function.apply(obj,arr))第一个参数obj:function的this指向obj,null则指向全局第二个参数arr:是一个数组,作为参数传给function,ES5开始,这个参数可以是一个类数组对象,就是包含一个length属性的对象{length:2}Math.max.apply(null,arr)的解释其中第一个参数null,这个是因为没有对象去调用...
apply用法
function.apply(obj,arr))
第一个参数obj:
function的this指向obj,null则指向全局
第二个参数arr:
是一个数组,作为参数传给function,ES5开始,这个参数可以是一个类数组对象,就是包含一个length属性的对象{length:2}
Math.max.apply(null,arr)的解释
其中第一个参数null,这个是因为没有对象去调用这个方法,所以直接传递null过去。
window可以说是全局对象,就是最顶层的对象,所有全局的变量和函数方法全部都被绑定在window对象身上。
那么Math.max.apply(null, [a, b, c, d, …])
实际上等同于Math.max(window, [a, b, c, d, …])
也就是Math.max(a, b, c, d, …),因此能够说明为什么 Math.max.apply(null,arr) 可以求最大最小值
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)