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

     

  • 相关阅读:
    springcolud 的学习(一),架构的发展史
    shiro框架的学习
    Mybatis分页插件PageHelper简单使用
    对于解决VS2015启动界面卡在白屏的处理方法
    C# 运行流程
    转:什么是DIP、IoC、DI
    IQueryable,IEnumerable,IList区别
    easyUi——datetimebox绑定数据失效
    前后端参数传递的学习笔记
    java 多线程学习总结
  • 原文地址:https://www.cnblogs.com/chengbing2011/p/4115518.html
Copyright © 2011-2022 走看看