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的当前作用对象。

相关文章

  • 用JavaScript实现贪吃蛇游戏

    用JavaScript实现贪吃蛇游戏

    这篇文章主要为大家详细介绍了用JavaScript实现贪吃蛇游戏,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-10-10
  • js设置控件的隐藏与显示的两种方法

    js设置控件的隐藏与显示的两种方法

    js设置控件的隐藏与显示,设置控件style的display和visibility属性就可以了,下面有个示例,需要的朋友可以参考下
    2014-08-08
  • js方法数据验证的简单实例

    js方法数据验证的简单实例

    下面小编就为大家带来一篇js方法数据验证的简单实例。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-09-09
  • javascript中打印当前的时间实现思路及代码

    javascript中打印当前的时间实现思路及代码

    打印当前的时间的方法有很多,在本文为大家详细介绍下使用javascript是如何做到的,具体实现如下,感兴趣的朋友可以参考下
    2013-12-12
  • JS实现图片上传多次上传同一张不生效的处理方法

    JS实现图片上传多次上传同一张不生效的处理方法

    这篇文章主要介绍了JS实现图片上传多次上传同一张不生效的处理方法,处理方法也很简单,只要在删除方法里置空input,具体实例代码大家参考下本文
    2018-08-08
  • JS用最简单的方法实现四舍五入

    JS用最简单的方法实现四舍五入

    在本篇文章里小编给大家整理的是关于JS用最简单的方法实现四舍五入的实例内容,需要的朋友们学习下。
    2019-08-08
  • npm淘宝镜像修改讲解

    npm淘宝镜像修改讲解

    这篇文章主要介绍了npm淘宝镜像修改讲解,本篇文章通过简要的案例,讲解了该项技术的了解与使用,以下就是详细内容,需要的朋友可以参考下
    2021-08-08
  • javascript中caller和callee详解

    javascript中caller和callee详解

    有些小伙伴可能会问caller,callee 是什么?在javascript 中有什么样的作用?那么本篇会对于此做一些基本介绍。希望能够对大家理解javascript中的callee与caller有所帮助。
    2015-08-08
  • javascript操作Cookie(设置、读取、删除)方法详解

    javascript操作Cookie(设置、读取、删除)方法详解

    这篇文章主要详细向大家介绍了javascript操作Cookie的方法,包括设置、读取、删除操作,十分的细致全面,附上示例,是篇非常不错的文章,这里推荐给大家。
    2015-03-03
  • 基于zepto.js实现手机相册功能

    基于zepto.js实现手机相册功能

    这篇文章主要为大家详细介绍了基于zepto.js实现手机相册功能,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-07-07

最新评论