js调用方法的三种写法,js调用函数的几种方法

大家好,给大家分享一下javascript调用函数的方法有哪些,很多人还不知道这一点。下面详细解释一下。现在让我们来看看!

上次说了定义函数的三种方式:JavaScript——定义函数的三种方式_js函数定义的三种方式-CSDN博客

这次说一下函数调用的三种方法。

JavaScript定义了三种调用函数的方法,分别是 直接调用函数、以call()方法调用函数以及以apply()方法调用函数Deepl降重

下面介绍一下这三种方法。

1.直接调用函数

这个方法是我们最常用的,也是最普通的方式。它直接以函数附加的对象作为调用者,在函数后括号内传入参数来调用函数。

语法示例:

//对象a调用hello()函数
a.hello();

2.call()方法调用函数

上文中的直接调用函数的方法虽然很简单,但是调用方式不够灵活。有时候调用函数需要动态地传入一个函数引用,为了动态地调用函数,这个时候就需要用call()方法了。下面先看一段代码。

< type="text/java">
    var each=function(array,fn)
    {
        for(var index in array)
        {
             //以window为调用者来调用fn函数。
            //index array[index]是传给fn函数的参数
            fn.call(null,index,array[index]);
        }
    
    
    }
    //调用each函数,第一个参数是数组,第二个参数是函数。
    each([4,20,3],function(index,else)
    {
        document.write("第"+index+"个元素是:"+ele+"<br/>")
    
    });
</>

上面的代码定义了一个each(array,fn)函数,这个函数可以自动迭代处理array数组元素,而fn函数组负责对数组元素进行处理。但是显然,fn在each中被调用,但是它被调用的时候fn函数还没有确定,没有办法采用直接调用函数的方法,只好通过call()方法来调用fn啦。也就是说,当函数尚未确定的时候,无法直接调用,可以用call()方法调用。

3.apply()方法调用函数

apply()方法与call 方法类似,它们都可以动态调用函数,它们的区别如下:

通过call()调用函数的时候,需要在括号中详细地列出每个参数。

通过apply()动态地调用函数的时候,需要以数组的形式一次性传入所有调用参数。

apply()和call()的对应关系如下:

函数引用.call(调用者,参数一,参数二......)=函数引用.apply(调用者,[参数一,参数二......])

语法示例:

//动态调用fn函数,12,23为参数
fn.call(window,12,32);
fn.apply(window,[12,32]);

总结:函数的三种调用方式都很容易理解,最普通的直接调用函数方法虽然简易但是不够灵活,但需要动态调用函数或者对灵活性要求更高的时候,可以用call()或者apply()。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值