CNode

为什么这里会stackovreflow?

问答
Hhopperhuang发布于9 年前最后回复9 年前1 回复3212 浏览0 收藏
			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)

J
jpuncle#1·9 年前

我试了一下,没有发生 stack overflow,你是不是还有别的代码?

参与回复
登录后即可参与回复。登录