美文网首页
2019-04-12 你不知道的Javascript之bind实

2019-04-12 你不知道的Javascript之bind实

作者: esbook | 来源:发表于2019-04-12 23:45 被阅读0次

```javascript

    var key = "window test"

    Function.prototype.newBind  = function(target){

        var self = this;

        var args = [].slice.call(arguments,1)

        var temp = function(){}

        var f = function(){

            var _args = [].slice.call(arguments,0)

            return self.apply(this instanceof temp ?this:(target||window),args.concat(_args))

        }

        temp.prototype = self.prototype

        f.prototype = new temp()

        return f;

    }

    function show(w,x,y,z){

        console.log(this.key)

        console.log(w,x,y,z)

    }

    var obj = {

        key:'obj test'

    }

    var newShow = show.newBind(obj,1,2,3);

    newShow(4)

    var _new = new newShow();

    console.log(_new.constructor)

```

相关文章

网友评论

      本文标题:2019-04-12 你不知道的Javascript之bind实

      本文链接:https://www.haomeiwen.com/subject/fuskwqtx.html