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()用法的更多相关文章

  1. Join 和 apply 用法

    TSQL中的join语句共有五种类型,left join,right join,inner join,full join,cross join 为了描述方便,解释一个名词"保留表" ...

  2. python中的filter、map、reduce、apply用法

    1. filter 功能: filter的功能是过滤掉序列中不符合函数条件的元素,当序列中要删减的元素可以用某些函数描述时,就应该想起filter函数. 调用: filter(function,seq ...

  3. T-SQL中的APPLY用法(半翻译)

    本文接上文:T-SQL 中的CROSS JOIN用法(半翻译) 同样可用于微软认证70-461: Querying Microsoft SQL Server 2012考试的学习中. --------- ...

  4. T-SQL中的APPLY用法

    原文出处:http://www.sqlservercentral.com/articles/Stairway+Series/121318/ 从SQL Server 2005开始,微软添加了一个新的运算 ...

  5. js中call与apply用法

    call和apply,它们的作用都是将函数绑定到另外一个对象上去运行 两者的格式和参数定义: call( thisArg [,arg1,arg2,… ] ); // 参数列表,arg1,arg2,.. ...

  6. Math.max.apply()用法

    apply的一些其他巧妙用法 Math.max.apply( null, [12,23,34,45] ); //细心的人可能已经察觉到,在我调用apply方法的时候, // 第一个参数是对象(this ...

  7. 谈谈 javascript的 call 和 apply用法

    定义: ECMAScript规范为所有函数都包含两个方法(这两个方法非继承而来),call和apply,这两个函数都是在特定的作用域中调用函数,能改变函数的作用域,实际上是改变函数体内 this 的值 ...

  8. [转]js之this,call,apply用法

    (一)关于this 首先关于this我想说一句话,这句话记住了this的用法你也就差不多都能明白了:this指的是当前函数的对象.这句话可能比较绕,我会举出很多例子和这句话呼应的!(看下文)1.首先看 ...

  9. sql server cross/outer apply 用法

    这是 sql server 帮助文档关于apply的描述: 使用 APPLY 运算符(2005或以上版本)可以为实现查询操作的外部表表达式返回的每个行调用表值函数.表值函数作为右输入,外部表表达式作为 ...

  10. SQL语句 - MERGE INTO 、Cross/Outer Apply用法理解

    MERGE INTO 语法: MERGE INTO table_name alias1 USING (table|view|sub_query) alias2ON (join condition) W ...

随机推荐

  1. ELK日志分析工具

    一.ELK介绍 1.1 elasticsearch 1.1.1 elasticsearch介绍 ElasticSearch是一个基于Lucene的搜索服务器.它提供了一个分布式多用户能力的全文搜索引擎 ...

  2. maven运行junit用例并生成报告

    原文地址https://blog.csdn.net/hdyrz/article/details/78398964 测试类如下: [java] view plain copypackage com.mm ...

  3. python16_day35【算法】

    一.BTree class BinTreeNode: def __init__(self, data): self.data = data self.lchild = None self.rchild ...

  4. EWD简介

    Edsger Wybe Dijkstra was a principal contributor in the late 1950's to the development of the ALGOL, ...

  5. 2.6 The Object Model -- Bindings

    一个binding在两个属性之间创建一个链接,当一个改变时,另外一个被自动更新为一个新的值. bindings可以在同一个对象中连接两个属性,或者用在两个不同的对象中. 不像大多数框架一样包含某种形式 ...

  6. OA项目_环境搭建

    OA项目现在要做成微服务,用的框架是springboot,所用的编程工具是idea,maven,做为一个程序员最关心的就是我需要在那个架包中编写代码,我们只需关注domain,repository,s ...

  7. js中 a : function(){}这是什么格式? 代表什么含义?怎样学习这样的格式?

    js中的json. 一种轻量级数据格式.json中的值是map形式的就是key->value. 具体看下边的示例; var person = { // 用 大括号括声明一个json. " ...

  8. Java Exception 和Error有什么区别?

    ① Exception 和Error 都是继承了Throwable类,在Java中只有Throwable类型的实例才可以被抛出或者捕获,它是异常处理机制的基本类型. ② Exception和Error ...

  9. WdatePicker显示乱码

    1.修改zh-cn.js内容: var $lang={ errAlertMsg: "不合法的日期格式或者日期超出限定范围,需要撤销吗?", aWeekStr: ["周&q ...

  10. Stitching模块中leaveBiggestComponent初步研究

    在Stitching模块中以及原始论文<Automatic Panoramic Image Stitching using Invariant Features>3.2中,都有" ...