zoukankan      html  css  js  c++  java
  • Javascript中call函数和apply函数的使用

    Javascript 中call函数和apply的使用:

    Javascript中的call函数和apply函数是对执行上下文进行切换,是将一个函数从当前执行的上下文切换到另一个对象中执行,例如:

    sourceObj.method.call(destObj,params1,params2) 是将sourceObj中的method函数放在destObj中执行

    call函数还有另外一种重要的作用,在Javascript面向对象编程中实现多继承的作用,例如:

    function parentClass(){
        this.showText(text){
            alert(text);
        }
    };
    
    function inherentClass(){
        parentClass.call(this);
    };
    
    var instance=new inherentClass();
    instance.showText('inherent caller');
    View Code

    当然也可以通过这种方式实现多继承的作用,只需要使用在子类中用每个父类调用call方法。

    同样apply和call函数的作用大致相同,只是传入的参数不同,apply函数和call函数的参数列表中第一个参数是相同的, 在call函数中第二个参数可以是任意的参数,而apply函数的第二个参数必须是数组,且apply函数只能有2个参数。

    如下简单demo一下如何使用apply函数:

    function sourceObj(firstPrams,secondParams){
        alert(firsParams+secondParams);
    }
    function destObj(firstParams,seconParams){
        alert(firstParams*secondParams);
    }
    
    sourceObj.apply(destObj,[6,2]);        //result=12
    View Code

     

  • 相关阅读:
    为什么非全站升级HTTPS不可?
    使用JSON实现分页
    Git常用命令
    chrome浏览器tab页内存占用变大,网站变慢为哪般?
    我们前端跟后端是怎么合作的
    关于响应式布局
    AngularJS(1)
    关于php语言的使用!
    你必须收藏的Github技巧
    CSS3 动画
  • 原文地址:https://www.cnblogs.com/chengbing2011/p/4115518.html
Copyright © 2011-2022 走看看