apply()方法

apply()方法

首先我们来看看网上apply()方法的定义:

1. apply()方法能劫持另外一个对象的方法,继承另外一个对象的属性
2.Function.apply(obj,args)方法能接收两个参数 // d第一个参数无关紧要的,下边有例子
3.obj:这个对象将代替Function类里this对象
4.args:这个是数组,它将作为参数传给Function(args–>arguments)

官网中介绍 看看官网怎么说

https://www.w3school.com.cn/js/js_function_apply.asp

apply() 方法与 call() 方法非常相似:
call() 方法分别接受参数。
apply() 方法接受数组形式的参数。
如果要使用数组而不是参数列表,则 apply() 方法非常方便。

我们在数组上模拟 max 方法
使用 Math.max() 方法找到(数字列表中的)最大数字:

Math.max(1,2,3); 
console.log(Math.max(1,2,3))  // // 会返回 3

由于 JavaScript 数组没有 max() 方法,因此我们可以应用 Math.max() 方法
eg :

Math.max.apply(null, [1,2,3]); // 也会返回 3  // 第一个参数(null)无关紧要。我并未使用它。 

Math.max.apply(Math, [1,2,3]); // 也会返回 3
Math.max.apply(" ", [1,2,3]); // 也会返回 3
Math.max.apply(0, [1,2,3]); // 也会返回 3

在 JavaScript 严格模式下,如果 apply() 方法的第一个参数不是对象,则它将成为被调用函数的所有者(对象)。
在“非严格”模式下,它成为全局对象。

上一篇:apply,map,applymap


下一篇:使用pandas对DataFrame行或列施加函数操作