参数的推理是什么,在bind函数的return语句中

时间:2015-01-06 15:13:54

标签: javascript

我从Leaflet api那里获取了这段代码。

不知道return fn.apply(obj, args || arguments);

中的args和参数是做什么的
bind: function (fn, obj) { // (Function, Object) -> Function
        var args = arguments.length > 2 ? Array.prototype.slice.call(arguments, 2) : null;
        return function () {
            return fn.apply(obj, args || arguments);
        };
    },

1 个答案:

答案 0 :(得分:2)

如果用超过2个参数调用bind,那么它将存储这些参数。当你调用bind返回的函数时,它将使用这些参数调用它。

如果使用2个或更少的参数调用bind,那么当您调用bind返回的函数时,它将使用您当时传递的参数调用它。


这似乎不是bind的正确实现。如果需要绑定polyfill,请使用the one from MDN