js手动实现bind

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_40821790/article/details/81178839
Function.prototype.bind=function(obj){
    var arg=Array.prototype.slice.call(arguments,1);
    var context=this;
    var bound=function(){
      arg=arg.concat(Array.prototype.slice.call(arguments));
      return context.apply(obj,arg);
    }
    var F=function(){}
    F.prototype=context.prototype;
    bound.prototype=new F();
    return bound;
}

function read(name, time, book) {
    console.log(`${name} is reading ${book} at ${time}`)
}

var TomRead = read.bind(this, 'Tom', 'morning')
TomRead('<万历十五年>')
console.log(TomRead.bind)

 

 

 

展开阅读全文

没有更多推荐了,返回首页