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)

相关文章:

  • 2021-12-19
  • 2021-10-27
  • 2022-01-30
  • 2022-03-04
  • 2021-10-16
  • 2021-10-05
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2021-06-24
  • 2021-05-10
相关资源
相似解决方案