zoukankan      html  css  js  c++  java
  • 辅助调用函数【call,apply,bind】

    函数也是对象,每个函数都有自己的方法。

    e.g。

    var jane = {
      name:'Jane',
      sayHelloTo:function(name)
        {
             'use strict';
             console.log(this.name+' say hello to '+name);      
        }        
    }

    1.call

    Function. prototype. call( thisValue, arg1?, arg2?, ...) 

     例子如下:

    //调用方法
    jane.sayHelloTo("Grant");
    jane.sayHelloTo.call(jane,"Grant");
    var func = jane.sayHelloTo;
    func.call(jane,"Grant")

    2.apply

    Function. prototype. apply( thisValue, argArray) 

    jane.sayHelloTo("Grant");
    jane.sayHelloTo.apply(jane,["Grant"]);
    var func = jane.sayHelloTo;
    func.apply(jane,["Grant"])

    3.bind

    Function.prototype.bind(thisValue,arg1?,....,argN?)

    function func()
    { 
        console.log('this is :'+this);
        console.log('arguments is '+Array.prototype.slice.call(arguments)); 
    }
    var bound = func.bind('abc',1,2);
    bound.apply();

  • 相关阅读:
    List sort()方法
    解析器
    beautifulsoup库
    break 语句
    enumerate函数
    POJ 1915 Knight Moves
    POJ 1745 Divisibility
    POJ 1731 Orders
    POJ 1664 放苹果
    POJ 1606 Jugs
  • 原文地址:https://www.cnblogs.com/LandWind/p/10516701.html
Copyright © 2011-2022 走看看