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)
页: [1]
查看完整版本: javascript apply方法应用