美文网首页
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