IE6-8 实现 Function protoypte bind问题

myseemydog 2013-11-07 04:09:29
   
Function.prototype.bind = function (oThis) {

var aArgs = Array.prototype.slice.call(arguments, 1),
fToBind = this,
fNOP = function () {},
fBound = function () {
return fToBind.apply(this instanceof fNOP && oThis
? this
: oThis || window,
aArgs.concat(Array.prototype.slice.call(arguments)));
};

fNOP.prototype = this.prototype;
fBound.prototype = new fNOP();

return fBound;
};


var person = {
age:10,
getAge:function(){
return this.age;
}
}
//
var boundGetAge = person.getAge.bind(person);



fNOP.prototype = this.prototype;
fBound.prototype = new fNOP();

这里问什么要把这个返回出来的函数原型指向先前对象里面getAge的原型呢?


有大大说是EMCA262标准、、还有人说是断开引用。
求解
...全文
44 点赞 收藏 1
写回复
1 条回复
myseemydog 2013年11月07日
。。Any 大神?
回复 点赞
发动态
发帖子
JavaScript
创建于2007-09-28

5.1w+

社区成员

22.3w+

社区内容

Web 开发 JavaScript
社区公告
暂无公告