zoukankan      html  css  js  c++  java
  • call和apply

    先看段代码:

    function Introduce(name,age)
    {
        document.write("My name is "+name+".I am "+age);
    }
    
    var p=new People();
    Introduce.call(p,"Windking",20);

    用了call之后,Introduce就成了p的方法,不知道这样说你明白了么?使用了call方法,上述的代码就等同于了这个代码:

    function People(name,age)
    {
        this.name=name;
    
        this.age=age;
    
        this.Introduce=function(){
    
        document.write("My name is "+name+".I am "+age);
      };
    }

    语法:

    call:  call接受少一个参数,call的第一个参数是指你所需要的对象,比如上例,introduce方法希望被对象p调用,那么就将p作为call方法的第一个参数;剩余的参数个数是任意的,作用是作为introduce方法的参数。顺序是按照introduce参数声明的顺序。注:传入的参数的顺序要与函数声明的时的参数顺序一致。

    apply: 作用和call方法一致,区别是:call接受至少一个参数,apply只接受两个参数,第一个参数与call一样,第二个参数是一个带下标的集合,比如introduce.call(p,"Windking",20)可以改写成introduce.apply(p,["Windking",20])

    参考http://www.cnblogs.com/kym/archive/2009/01/23/1380215.html

  • 相关阅读:
    HDU 1013 Digital Roots
    HDU 1290 献给杭电五十周年校庆的礼物
    几何分割问题
    HDU 1222 Wolf and Rabbit
    HDU 1997 汉诺塔VII
    HDU 1443 Joseph
    HTML的标题样式
    HDU 1568 Fibonacci
    Hope
    HDU 1071 The area
  • 原文地址:https://www.cnblogs.com/jiandankuaile/p/3504083.html
Copyright © 2011-2022 走看看