在javascript OOP中,我们经常会这样定义:

function cat(){}cat.prototype={     food:"fish",     say: function(){  alert("I love "+this.food);    }
}
var blackCat = new cat;
blackCat.say();

如果我们有一个对象

whiteDog = {food:"bone"},

我们不想对它重新定义say方法,

那么我们可以通过call或apply用blackCat的say方法:

blackCat.say.call(whiteDog);

所以,可以看出call和apply是为了动态改变this而出现的,当一个object没有某个方法,但是其他的有,我们可以借助call或apply用其它对象的方法来操作。

转载于:https://www.cnblogs.com/szatpig/p/8182746.html

call及apply的用法理解相关推荐

  1. oracle中start with和connect by的用法理解

    Oracle中start with和connect by 用法理解 转自:http://www.blogjava.net/xzclog/archive/2010/03/05/314642.html,多 ...

  2. javascript下的arguments,caller,callee,call,apply示例及理解

    在看到大家如此关注JS里头的这几个对象,我试着把原文再修改一下,力求能再详细的阐明个中意义.在提到上述的概念之 前,首先想说说javascript中函数的隐含参数:arguments Argument ...

  3. pandas apply() 函数用法

    理解 pandas 的函数,要对函数式编程有一定的概念和理解.函数式编程,包括函数式编程思维,当然是一个很复杂的话题,但对今天介绍的 apply() 函数,只需要理解:函数作为一个对象,能作为参数传递 ...

  4. JS学习笔记之call、apply的用法

    1.call和apply的区别 call和apply唯一的区别是传入参数的形式不同. apply接受两个参数,第一个参数指定了函数体内this对象的指向,第二个参数为一个带下标的集合,可以是数组,也可 ...

  5. apply通过实例理解

    测试->运行环境chrom console >var aaa = {a:1,b:2,c:function(){console.log(this.a)}} 运行结果:undefined &g ...

  6. SQLServer基础:Apply关键字用法介绍

    1.概念介绍 APPLy关键字是SQLServer版本中开始提供的一个系统关键字. APPLY的功能同联接很类似,APPLY运算分左右两个部分, APPLY的右表达式:左表达式的每一行都和右表达式进行 ...

  7. python class用法理解_Python小世界:彻底搞懂Python一切皆对象!

    犹记得当初学习Python的时候,对于 Python一切皆对象 很是懵逼,因为Python是面向对象的动态型语言,而在函数及高阶函数的应用中,如若对于一切皆对象不是有很透彻的了解,基础不是那么牢固的话 ...

  8. python class用法理解_带你全面理解python中self的用法

    self代表类的实例,而非类. 执行结果如下 从上面的例子中可以很明显的看出,self代表的是类的实例.而self.class则指向类. self不必非写成self 把上面的代码改写一下. 改成thi ...

  9. JS call()与apply()的用法

    转载自 http://www.cnblogs.com/wangtao_20/archive/2011/01/01/1923918.html a.call(b); 网上说明的版本比较多.有的说,是指针替 ...

  10. c语言中do是什么用法,C语言基础知识:do while用法理解

    do while语句 与while类似,do while语句也同样是用于完成程序循环的一种方式,它的基本用法如下: do { //循环体 } while (条件表达式); 注意:do while语法与 ...

最新文章

  1. 分配委托、匿名委托、委托
  2. Serverless:为我们到底带来了什么
  3. 中小企业CRM评测-客户服务_企能
  4. 史上最详细的Android Studio系列教程四--Gradle基础
  5. pat 甲级 1072. Gas Station (30)
  6. Eureka核心知识点
  7. SHELL编程Nginx源码多版本脚本
  8. 去掉谷歌浏览器中烦人的广告
  9. SSL 1887——潜伏者
  10. 关于github的一些问题汇总
  11. Comsol学习——经典案例:插销支架受力分析
  12. 关于ubuntu 系统chromium浏览器启用AdobeFlashPlayer
  13. 已解决raise JSONDecodeError(“Expecting value”, s, err.value) from None
  14. 永洪报表工具_表格软件下载排行榜Top7
  15. 查看mysql 版本号 (3种)
  16. CPU架构之ARM优化
  17. 采药(洛谷P1048)
  18. 参加2020Jam初赛记录与部分题目解答
  19. 分布式微服务学习总结——分布式微服务概述
  20. 数据化运营chapter3_code--数据处理

热门文章

  1. 软件工程第一次作业(第一次思考这些问题)
  2. 做一个完整的Java Web项目需要掌握的技能[转]
  3. 在WebBrowser控件使用js调用C#方法
  4. 运行 Docker 容器时的安全风险:别丢了你的套接字
  5. 机器学习基石笔记9——机器可以怎样学习(1)
  6. PowerShell 远程连接与其它技巧
  7. 从零开始react实战:云书签-1 react环境搭建
  8. ラブ・ストーリーは突然に(突然發生的愛情故事)歌詞
  9. HTTP权威指南-概述
  10. django -orm操作总结