new实现的功能:
- 返回一个返回对象的函数;
- 返回对象的原型链(proto)链上构造函数的prototype;
- 利用apply给构造函数指定this引用;
javascript
1 | function _new(fn){ |
bind实现的功能:
- 返回一个绑定了上下文(context)的函数;
- 利用apply达到绑定的目的;
- 考虑new调用bind返回的函数(稍复杂);
javascript
1 | Function.prototype._bind = function(context) { |
1 | function _new(fn){ |
1 | Function.prototype._bind = function(context) { |