码迷,mamicode.com
首页 > 移动开发 > 详细

call()与apply()用法

时间:2018-02-27 01:11:36      阅读:152      评论:0      收藏:0      [点我收藏+]

标签:one   har   方法   function   没有   and   ash   目的   sha   

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()用法

标签:one   har   方法   function   没有   and   ash   目的   sha   

原文地址:https://www.cnblogs.com/renbo/p/8476396.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!