zoukankan      html  css  js  c++  java
  • javascript apply用法

    funObj.apply([thisObj[,argArray]])

     

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

    functionObj的方法执行时,函数中的this对象会被thisObj替换掉。

     

    thisObj 可选项。将被用作当前对象的对象。

    argArray 可选项。将被传递给该函数的参数数组。

     

    //apply在对象继承方面的应用,不使用prototype,隐式的将父对象属性赋给了子对象
    function par(name)
    {
    this.parname=name;
    }
    function child(chname,parname){
    this.chname=chname;
    par.apply(this,new Array(parname));
    };

     var o=new child("john","Mr john");
    alert(o.parname+";"+o.chname);

    //apply可以在通用的方法调用方面进行使用
    window.onunload=function()
    {
    alert("unload event is fired!");
    }

     function sayBye(name,toName)
    {
    alert(name+" says bye to "+toName);
    }
    function sayEndBiz(name,toName,content)
    {
    alert(name+" ends his talk about "+content +" with "+toName);
    }

     function addTo(args,func)
    {
    var oldHandler=window.onunload||function(){};
    window.onunload=function()
    {
    func.apply(window,args);
    oldHandler.apply(window, args);
    }
    }

    addTo(new Array("John","everyone"),sayBye);
    addTo(new Array("John","everyone","deveopment strategy of the company"),sayEndBiz)
  • 相关阅读:
    HDU 5135(再思考)
    HDU 5105
    HDU 5135
    Codeforces 985E
    Codeforces 985D
    Codeforces 975D
    Codeforces 975C
    Codeforces 976D
    HDU 1024 Max Sum Plus Plus (DP,水题)
    HDU 1003 Max Sum(DP,水题)
  • 原文地址:https://www.cnblogs.com/mantian2020/p/2204224.html
Copyright © 2011-2022 走看看