apply的用法

Function.prototype.apply()

apply()方法使用一个指定的this值和一个数组来调用一个函数。
function.apply(thisArg,[argsArray])

thisArg

这个是必选的,在function运行的时候使用该 this 值,但是 this可能不是该方法看的实际值。在非严格模式下就算使用function.apply()括号里面不加任何东西,他也会指向全局对象。因为 this 为 null 或者 undefined 时会自动替换为指向全局对象,原始值会被包装。

argsArray

这个是可选的,它是一个数组或者累数组对象,他作为一个单独的参数传给 function 函数。如果该参数的值为null或者 undefined 时则表示不传任何参数。另外,该参数里面还可以使用数组字面量例如 function.apply(this,['name','age']),或者使用数组对象例如function.apply(this, new Array('name','age'))

apply用法示例

var array1 = [1,2,3,4,5];
function max(){
let n= this[0] ;
for( i = 0; i < this.length; i++){
if (n < this[i]){
n = this[i];
}}
return console.log(n);
}
max.apply(array1);//output 5

通过apply的方式传入指定的this给求最大值的函数max并求出传入数组中最大的那个值。

你可能感兴趣的:(apply的用法)