就爱编程论坛

标题: javascript apply方法应用 [打印本页]

作者: admin    时间: 2011-6-24 23:10:45     标题: 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)






欢迎光临 就爱编程论坛 (http://bbs.waibc.com/) Powered by Discuz! X2