利用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后面的参数为传给函数的参数,结果会输出"你好!"。

posted @ 2016-04-23 21:57  光辉的一角  阅读(948)  评论(0编辑  收藏  举报