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]