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

 更新时间:2014年02月14日 09:50:55   作者:  
本篇文章主要是对javascript中apply和call方法的作用及区别进行了介绍,需要的朋友可以过来参考下,希望对大家有所帮助

一、call和apply的说明

1、call,apply都属于Function.prototype的一个方法,它是JavaScript引擎内在实现的,因为属于Function.prototype,所以每个Function对象实例(就是每个方法)都有call,apply属性。既然作为方法的属性,那它们的使用就当然是针对方法的了,这两个方法是容易混淆的,因为它们的作用一样,只是使用方式不同。

2、语法:foo.call(this, arg1,arg2,arg3) == foo.apply(this, arguments) == this.foo(arg1, arg2, arg3);

3、相同点:两个方法产生的作用是完全一样的。

4、不同点:方法传递的参数不同。

二、实例代码

复制代码 代码如下:

<script type="text/javascript">
    function A(){
        this.flag = 'A';
        this.tip = function(){
            alert(this.flag);
        };
    }
    function B(){
        this.flag = 'B';
    }
    var a = new A();
    var b = new B();
    //a.tip.call(b);
    a.tip.apply(b);
</script>

三、代码解释(即说明apply和call作用)

1、实例代码定义了两个函数A和B,A中包含flag属性和tip属性(这个属性赋值一个函数),B中有一个flag属性。

2、分别创建A和B的对象a和b。

3、无论是a.tip.call(b);和a.tip.apply(b);运行的结果都是弹出B。

4、从结果中可以看出call和apply都可以让B对象调用A对象的tip方法,并且修改了this的当前作用对象。

相关文章

  • 不使用jquery实现js打字效果示例分享

    不使用jquery实现js打字效果示例分享

    js打字效果示例js打字效果示例,data-period设置从打字返回删字的时间,data-rotate可加减中英文词语,不用jquery支持
    2014-01-01
  • JavaScript ES6中CLASS的使用详解

    JavaScript ES6中CLASS的使用详解

    class是es6引入的最重要特性之一。在没有class之前,我们只能通过原型链来模拟类。这篇文章我们将详细的介绍关于ES6中CLASS的使用,有需要的朋友们可以参考借鉴,下面来一起看看吧。
    2016-11-11
  • 使用javascript函数编写简单银行取钱存钱流程

    使用javascript函数编写简单银行取钱存钱流程

    本文通过实例代码给大家讲解了使用javascript函数编写简单银行取钱存钱流程,代码简单易懂,非常不错,具有一定的参考借鉴价值,需要的朋友参考下吧
    2018-05-05
  • D3.js封装文本实现自动换行和旋转平移等功能

    D3.js封装文本实现自动换行和旋转平移等功能

    之前小编和大家分享了SVG中如何配合使用text和tspan来实现换行的功能,所以这篇文章对此功能进行一下封装,以后就可以直接用了。有需要的朋友们可以参考借鉴,下面来一起看看吧。
    2016-10-10
  • 解决layui table表单提示数据接口请求异常的问题

    解决layui table表单提示数据接口请求异常的问题

    今天小编就为大家分享一篇解决layui table表单提示数据接口请求异常的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-09-09
  • 不刷新网页就能链接新的js文件方法总结

    不刷新网页就能链接新的js文件方法总结

    在本篇文章里小编给大家整理的是关于不刷新网页就能链接新的js文件方法总结,需要的朋友们参考下。
    2020-03-03
  • 易被忽视的js事件问题总结

    易被忽视的js事件问题总结

    这篇文章主要为大家详细介绍了易被忽视的js事件问题,包括跨平台事件、冒泡中target和currentTarget的区别,感兴趣的朋友可以参考一下
    2016-05-05
  • JS实现前端页面的搜索功能

    JS实现前端页面的搜索功能

    这篇文章主要介绍了JS实现前端页面的搜索功能,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友参考下吧
    2018-06-06
  • 基于JS实现蜘蛛侠动作游戏的示例代码

    基于JS实现蜘蛛侠动作游戏的示例代码

    这篇文章主要介绍了如何利用JavaScript实现简单的蜘蛛侠动作游戏,文中的示例代码讲解详细,对我们学习JavaScript游戏开发有一定的帮助,需要的可以参考一下
    2022-06-06
  • js实现点击按钮复制文本功能

    js实现点击按钮复制文本功能

    这篇文章主要为大家详细介绍了原生js实现点击按钮复制文本的相关代码,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-04-04

最新评论