利用call与apply向函数传递参数

时间:2023-03-09 13:07:12
利用call与apply向函数传递参数

Js中函数对象都有call与apply两个方法属性,二者使用方法和功能一样,只是传递参数的格式不同,call逐个传递单个参数,apply一次性传递一个参数数组。

这两个方法可以改变函数的调用对象,并且向函数中传递参数。如:

function send(str,speak){
speak.call(this,str); //send(~)==window.speak(str),这句话会立即调用执行此函数
}
send("你好!",function(strword){ //这里以匿名函数对象作为参数
console.log(strword);
});

  这里this指window对象(不清楚的话可以看我上偏博客),this后面的参数为传给函数的参数,结果会输出"你好!"。