Function.prototype.apply()

2021-08-17  本文已影响0人  black墨

本文不构成任何指导学习意见,记录仅供学习以及知识点查看

文章来源: https://developer.mozilla.org/zh-CN/docs/Web/JavaScript
每个 JavaScript 函数实际上都是一个 Function 对象。运行 (function(){}).constructor === Function // true 便可以得到这个结论。

注意:call()方法的作用和 apply() 方法类似,区别就是call()方法接受的是参数列表,而apply()方法接受的是一个参数数组。

正经解释

-apply() 方法调用一个具有给定this值的函数,以及以一个数组(或类数组对象)的形式提供的参数。

const numbers = [5, 6, 2, 3, 7];

const max = Math.max.apply(null, numbers);

console.log(max);
// expected output: 7

const min = Math.min.apply(null, numbers);

console.log(min);
// expected output: 2

apply 将数组各项添加到另一个数组

使用push将元素追加到数组中。由于push接受可变数量的参数,所以也可以一次追加多个元素。

var array = ['a', 'b'];
var elements = [0, 1, 2];
array.push.apply(array, elements);
console.info(array); // ["a", "b", 0, 1, 2]

这种场景适合将两组数组拼接为一组数组,不用循环遍历插入,超级方便,这个应该属于常用的点。

后边还有一些关于构造器之类的,需要可以去学习学习,后边我也没看懂, 原文链接:
https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Function/apply

上一篇 下一篇

猜你喜欢

热点阅读