this显示绑定的边界问题
通过手写bind,apply,call函数我发现,如果绑定的对象属性中,key与我自己写的函数包含的属性相同,这种情况应该如何处理
这里以bind显示我想表述的问题
Function.prototype.imibind=function(obj,...args){
let fn=this
function recurse(...newargs){
obj=(obj!==undefined&&obj!==null)?Object(obj):window
obj.fn=fn
var finalArgs=[...args,...newargs]
var result=obj.fn(...finalArgs)
delete obj.fn
return result
}
return recurse
}
function sum(n1,n2,n3){
console.log("sum");
console.log(this);
return n1+n2+n3
}
var obj={name:'xwl',fn:function(){}}//fn重复应该如何解决?
var of=sum.imibind(obj,10)
var result=of(20,30)
console.log(result); 