为什么这里会stackovreflow?
tree = {
get:function(){
console.log('tree');
},
redb:function(){
old = this.get;
this.get = function(){
console.log(old); /*
* function (){
console.log('tree');
}
*/
old();
console.log('redball');
}
console.log(old); /*
* function (){
console.log('tree');
}
*/
console.log(this.get)
}
}
tree.redb();
tree.get();
上面的调用get方法为什么会stackoverflow呢。 old指向的原来的函数呀。 然后我把this.get指向新的函数。 新的get里面调用的是原理的函数,两个函数应该放在不同内存的。为什么会重复调用?
1 回复
我试了一下,没有发生 stack overflow,你是不是还有别的代码?