“`” 参考回答:
bind()方法,创建一个新函数,当这个新函数被调用时,bind()的第一个参数将作为它运行时的this,之后的一序列参数将会在传递的实参前传入作为它的参数
<pre><code class=""language-javascript"" lang=""javascript"">Function.prototype.bind2 = function (context) {
if (typeof this !== ""function"") {
throw new Error(""Function.prototype.bind – what is trying to be bound is not callable"");
}
var self = this;
var args = Array.prototype.slice.call(arguments, 1);
var fNOP = function () {};
var fbound = function () {
self.apply(this instanceof self ? this : context, args.concat(Array.prototype.slice.call(arguments)));
}
fNOP.prototype = this.prototype;
fbound.prototype = new fNOP();
return fbound;
}
</code></pre>
<pre><code> "“`
Was this helpful?
0 /
0