JS中的递归有没有深度限制

baidu_25885829 2015-11-17 08:16:45
JS中的递归有没有深度限制
...全文
433 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
baidu_25885829 2015-11-17
  • 打赏
  • 举报
回复
测试了好多次没有出现问题了,似乎有点明白了,谢谢你
天际的海浪 2015-11-17
  • 打赏
  • 举报
回复
arguments.callee(); 改为 arguments.callee.call(this);
baidu_25885829 2015-11-17
  • 打赏
  • 举报
回复
颜色没加上<span style="color: #FFFF00;">this.position.x=x;</span>
baidu_25885829 2015-11-17
  • 打赏
  • 举报
回复
谢谢,我知道了。能不能在帮我看下这段代码。黄色代码在运行一定程度后会出现Uncaught TypeError: Cannot set property 'x' of undefined,开始能够正常运行的,是什么原因?
var food={
	position:new Point(-1,-1),
	product:function(){
		var isOnSnake=false;
		var x=Math.round(Math.random()*19)*10;
		var y=Math.round(Math.random()*19)*10;
		for(var i=0;i<snake.currentLength;i++){
			if((snake.snakeBody[i].x==x)&&(snake.snakeBody[i].y==y)){
				isOnSnake=true;
				break;
			}
		}
		if(isOnSnake){
			arguments.callee();
		}
		else{
			this.position.x=x;
			this.position.y=y;
		}
	},
	display:function(context){
		context.save();
		context.fillStyle="red";
		context.fillRect(this.position.x,this.position.y,10,10);
		context.restore();
	}
}
这是源代码http://yun.baidu.com/xcloud/csdn/pan/share/link?shareid=736181931&uk=1213943095
天际的海浪 2015-11-17
  • 打赏
  • 举报
回复
有限制的。Chrome浏览器最多能递归4万多层,ie浏览器可能没那么多,出了限制会报“堆栈溢出”错误

87,919

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧