`
liu208286
  • 浏览: 16929 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
社区版块
存档分类
最新评论

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)


分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics