function f(s){
console.log(this.a,s)// 2 3
return this.a+s;
}
var obj={
a:2
}
var f2=function(){
return f.apply(obj,arguments); // apply有打散数组的作用
}
var b=f2(3);
console.log(b); // 5
答案:2 3 5
var length=10;
function f1(){
console.log(this.length);
}
var obj={
x:1,
b:function(f1){
arguments[0]();
}
}
obj.b(f1,2) // 输出2
答案:2
第二道题我在这里提示一下: arguments 是js的内置对象 是一个存储函数参数的数组对象