call()与apply()用法

少年乘勇气,百战过乌孙。这篇文章主要讲述call()与apply()用法相关的知识,希望能为你提供帮助。
call()和apply()的作用都是一样的— — 通过改变函数体内部 this 的指向,借用对象的方法的目的
还是举个栗子吧:

function Cat(){ this.food = ‘fish‘; this.say= function(){ console.log(‘I love ‘ + this.food) } }//小猫构造函数 var keke = new Cat(); //一只小猫,由小猫构造函数创建var diandian = {food:‘bone‘}; //又来一只小狗

//小猫和小狗一起去餐厅吃饭

keke.say(); //I love fish

//小狗没有say 方法,但是他也想说自己喜欢的食物,于是keke.say.call(diandian); //I love bone借用小猫的方法。两人一起愉快地吃自己喜欢的食物了。

【call()与apply()用法】 这两个方法的区别在于参数,call()传递给函数的参数必须列举出来,apply()传递的是参数数组.

    推荐阅读