Move bound inheritance hookup inside bound.

Former-commit-id: 7f95fffa14ef42f8f065aad124ac883740baac64
This commit is contained in:
John-David Dalton
2012-12-03 22:07:45 -08:00
parent 12b0186f5a
commit 6188c38053
2 changed files with 7 additions and 16 deletions

View File

@@ -587,19 +587,18 @@
: partialArgs;
}
if (this instanceof bound) {
// ensure `new bound` is an instance of `bound` and `func`
noop.prototype = func.prototype;
thisBinding = new noop;
noop.prototype = null;
// mimic the constructor's `return` behavior
// http://es5.github.com/#x13.2.2
var result = func.apply(this, args);
return isObject(result) ? result : this;
var result = func.apply(thisBinding, args);
return isObject(result) ? result : thisBinding;
}
return func.apply(thisBinding, args);
}
if (func && func.prototype) {
// ensure `new bound` is an instance of `bound` and `func`
noop.prototype = func.prototype;
bound.prototype = new noop;
noop.prototype = null;
}
return bound;
}