自己实现一个bind函数

Function.prototype.myBind = function (){
    if(typeof this !== 'function') throw new TypeError('@');
    var fn_self = this,
        fn_args = Array.prototype.slice.call(arguments,1);
    var fn_empty = function (){}
    var fn = function (){
        return fn_self.apply(this instanceof fn ? this : arguments[0],fn_args.concat(Array.prototype.slice.call(arguments)))
    }
    if(this.prototype){
        fn_empty.prototype = this.prototype;
    }
    fn.prototype = new fn_empty();
    return fn;
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容