`

js中call和apply的用法

阅读更多
说白了这两个方法可以像调用其他对象的方法一样调用函数。


先说call的用方法:

var obj = {
     arg1: 1,
     arg2: 2
}
function f(a,b){
     return this.arg1 + this.arg2 + a + b;
}

var r = f.call(obj,3,4);  // r =10


等同于:
 var obj = {
     arg1: 1,
     arg2: 2
}


function f(a,b){
     return this.arg1 + this.arg2 + a + b;
}


obj.m = f;
var r = obj.m(3,4);
delete obj.m;


applay和call方法相似,只不过要传递的参数以数组的形式制定上面的代码调用apply可写成:

var obj = {
     arg1: 1,
     arg2: 2
}
function f(a,b){
     return this.arg1 + this.arg2 + a + b;
}

var r = f.apply(obj,[3,4]);  // r =10

分享到:
评论

相关推荐

    js中call与apply的用法小结.docx

    js中call与apply的用法小结.docx

    javascript中apply和call方法的作用及区别说明

    1、call,apply都属于Function.prototype的一个方法,它是JavaScript引擎内在实现的,因为属于Function.prototype,所以每个Function对象实例(就是每个方法)都有call,apply属性。既然作为方法的属性,那它们的使用...

    JS中call和apply函数用法实例分析

    本文实例讲述了JS中call和apply函数用法。分享给大家供大家参考,具体如下: call 函数 语法 obj.call(thisObj,arg[,arg2[,arg3[,...agr]]]); 简介 thisObj继承obj的属性和方法(obj原型链上的属性和方法不能被继承),...

    JS中的call()和apply()方法的详解

    在 javascript 中,call 和 apply 都是为了改变某个函数运行时的上下文(context)而存在的,一般来说,this总是指向调用某个方法的对象,但是使用call()和apply()方法时,就会改变this的指向 语法: apply() 接收两...

    详解js中call与apply关键字的作用

    本文主要介绍js中call与apply关键字的作用以及它们的用法,具体实例如下,希望对大家有所帮助

    Javascript 中的 call 和 apply使用介绍

    简单的说就是改变函数执行的上下文,... 这两个方法通常被用来类的继承和回调函数: 作用一、类的继承: 先来看这个例子: 代码如下: function Person(name,age){ this.name = name; this.age=age; this.alertName = f

    js中call与apply的用法小结

    前天去面试,有个gg问了一些js知识,其中有一道call与apply用法的题目,尽管在365天前用过call方法,但当时还是没能答上来,今天深入总结一下 call和apply,它们的作用都是将函数绑定到另外一个对象上去运行 两者的...

    javascript中call和apply的用法示例分析

    主要介绍了javascript中call和apply的用法示例分析,非常的详细,需要的朋友可以参考下

    javascript中call,apply,bind函数用法示例

    主要介绍了javascript中call,apply,bind函数用法,结合实例形式分析了call,apply,bind函数的功能、使用方法与相关注意事项,需要的朋友可以参考下

    Javascript中call和apply函数的比较和使用实例

    一些简单的Javascript操作中较少会用到call和apply函数,在另外一些较大型的操作中,如web应用开发,js框架开发中可能会经常遇到这两个函数。关于这两个函数的解释,网上的资料也很多,但是本人认为很多资料要么...

    javascript中apply、call和bind的用法区分_.docx

    javascript中apply、call和bind的用法区分_.docx

    js中apply与call简单用法详解.docx

    js中apply与call简单用法详解.docx

    Javascript中call,apply,bind方法的详解与总结

    以下内容会分为如下小节: ...6.call,apply,bind方法的联系和区别 1.call/apply/bind方法的来源 首先,在使用call,apply,bind方法时,我们有必要知道这三个方法究竟是来自哪里?为什么可以使用的到这三个方法?

    详解js中的apply与call的用法.docx

    详解js中的apply与call的用法.docx

    JavaScript中call和apply方法的区别实例分析

    主要介绍了JavaScript中call和apply方法的区别,结合实例形式分析call和apply方法的功能、原理及相关使用操作区别,需要的朋友可以参考下

    javascript中call和apply方法浅谈

    例如,如果要想以对象o的方法来调用函数f,可以按如下的方式使用call和apply方法: 代码如下: f.call(o); f.apply(o);可以按如下的代码来理解: 代码如下: o.m = f; //将f存储为o的临时方法 o.m(); //调用这个...

    js中apply与call简单用法详解

    call和apply是为了动态改变this而出现的,当一个object没有某个方法,但是其他的有,我们可以借助call或apply用其它对象的方法来操作。 call, apply都属于Function.prototype的一个方法,它是JavaScript引擎内在实现...

    JS中改变this指向的方法(call和apply、bind)

    this是javascript的一个关键字,随着函数使用场合不同,this的值会发生...但是总有一个原则,那就是this指的是调用函数的那个对象,通过本文给大家介绍JS中改变this指向的方法(call和apply、bind),需要的朋友参考下

Global site tag (gtag.js) - Google Analytics