function bindMethod(o,f)
{
var args=arguments;
return function(){
return f.apply(o,args);
};
}
var a="hello";
function foo(name)
{
document.write(typeof name+"<br/>");
n=name || "haha";
return n.toUpperCase();
}
var change=bindMethod(a,foo,"jj")();
document.write(change+"<br/>");
输出为:
string
HELLO
明明传过来的是数组类型,怎么会成为string类型呢?
知道问题了,传给方法foo的是以数组形式的参数,即假设foo(n1,n2,n3,...)n1对应args[0],n2对应args[1],...