A-A+
手写bind()函数
手写bind()函数
var name = 'windowName'
var a={
name:'Cherry',
fn:function (newName) {
console.log(this.name+' and new :'+newName)
}
}
var b=a.fn;
b("33333")
b.apply(a,['3333'])
if(Function.prototype.binder === undefined){
console.log('您的浏览器不支持bind')
Function.prototype.binder = function(obj){
//todo arg1 没用吧
var arg1 = [].slice.call(arguments,1);
var fun =this;
return function(){
fun.apply(obj,arg1.concat([].slice.call(arguments,1)));
}
}
}else{
console.log('您 的浏览器支持bind')
}
var obj = {
name:'tom',
}
function fn(){
console.log(this.name)
}
fn.binder(obj)()