zoukankan      html  css  js  c++  java
  • JS知识整理之 Call&Apply方法

    JavaScript中的函数也是对象,和其他JS对象一样也可以包含方法,其中Call和Apply就是其中比较重要的方法,可以用来间接的调用函数。这两个方法允许显式制定调用所需的this值,也就是说所有函数可以作为任何对象的方法来使用,哪怕这个函数不是那个对象的方法。

    Call方法:
    语法:call([thisObj[,arg1[, arg2[,   [,.argN]]]]])
    Apply方法:

    语法:apply([thisObj[,argArray]])

    Call和Apply方法作用相同,但从以上语法来看,他们传入的参数方式不同,两个方法第一个参数都是需要调用方法的对象(thisObj),函数所需要的实参Call方法是以列表形式传入,而Apply方法则需要以数组形式传入实参。

    实例:

     1         function People(name, age) {
     2 
     3             this.name = name;
     4             this.age = age;
     5             this.showName = function () {
     6 
     7                 console.log(this.name);
     8 
     9             }
    10         }
    11 
    12 
    13         function Student(name, age) {
    14 
    15             this.name = name;
    16             this.age = age;
    17             this.showAge = function () {
    18 
    19                 console.log(this.age);
    20             }
    21         }
    22 
    23 
    24             var people = new People("peopleName", 20);
    25             var student = new Student("studentName", 10);
    26 
    27             people.showName.call(student);//输出studentName

    在以上代码中,同样可以使用people.showName.apply(student),输出结果还是studentName。

  • 相关阅读:
    大batch任务对structured streaming任务影响
    spark 集群优化
    linux神器 strace解析
    打个 hadoop RPC的栗子
    netty 入门
    c#硬件对接数值转换
    RabbitMQ 消息队列入门
    RabbitMQ 开发环境安装部署
    Nginx-4.Nginx如何处理请求
    Nginx-3.控制nginx
  • 原文地址:https://www.cnblogs.com/junfly/p/3926701.html
Copyright © 2011-2022 走看看