zoukankan      html  css  js  c++  java
  • Call与apply的用法与区别

    Call方法:

    语法:call(thisObj,agr1,agr2,agr3..........)

    定义:调用一个对象的方法,以另一个对象替换当前对象。

    例子:

    1、add.call(sub,3,1);add方法来替换sub

    Apply方法:

    语法:apply(thisObj,agrArray)

    定义:应用某一对象的一个方法,用另一个对象替换当前对象。

    联系:这两个方法都能劫持另一个对象的的方法,继承另一个对象的属性。

    不同:参数列表不一样。

    解释:function.apply(obj,args)

    Obj:这个对象代替xxxfunction类里的this对象,即function类(函数)里的this不是指向function本身,而是指向obj

    args:这个数组类型参数,它将作为参数传递给function,结果还是执行function类方法的功能,只不过该function函数以另一个目标对象和一个数组作为参数传递进function函数,function里面的this是传进的目标对象,而不是function本身。

     

    实例:

    function Person(name,age,job){

         this.name=name;

     this.age=age;

     this.job=job;

         this.sayName=function(){

        alert(this.name);

     }

     }

    Var o=new Object();

    Person.call(0,”zhangsan”,20,”IT”);

    o.sayName();//”zhangsan”

    其实说白就是把Person放到o环境中执行,Personthis指向o对象;

    最后,欢迎各位大神指点!!!

  • 相关阅读:
    java小学生四则运算带面板版 但我不知道为什么同类变量却进不了动作监听中去
    超实用 2 ArrayList链表之 员工工资管理系统
    超实用 1 ArrayList 链表
    我的JAVA运算符理解
    小学生四则运算
    一、二周冲刺总结
    阅读《构建之法》第8,9,10章
    第一次Sprint计划
    作业6
    5.2
  • 原文地址:https://www.cnblogs.com/hcw136156133/p/4112939.html
Copyright © 2011-2022 走看看