关于for循环的问题

weixin_39907572 2017-08-20 12:35:48
for循环内在嵌套for循环,里面的循环是不是每次循环都要初始化变量??
...全文
685 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
一名初中生 2017-08-22
  • 打赏
  • 举报
回复
引用 8 楼 yuqiz1981 的回复:
[quote=引用 7 楼 weixin_39907572 的回复:] [quote=引用 6 楼 yuqiz1981的回复:]外层每次循环都会初始化J;当i=1的时候J就会初始化如此循环
为什么外面的i不初始化呢,而是j初始化。[/quote] var i=0;这就是初始化[/quote] 没错。
  • 打赏
  • 举报
回复
或者可以把var j声明外置,在里面的for语句中只进行赋值j=0
  • 打赏
  • 举报
回复
j初始化次数是由外层的计数器i来决定的
  • 打赏
  • 举报
回复
引用 11 楼 weixin_39907572 的回复:
[quote=引用 10 楼 低调是种无声的高调的回复:]或者可以把var j声明外置,在里面的for语句中只进行赋值j=0
还有一个问题,if语句,switch语句,while语句,for语句,如何确定每一种问题需要用什么语句去解决?[/quote] 用什么语句,是根据可能会出现的需要判断的情况来做决定,比如黑或白,男或女,大或小,用if合适,如果是对彩虹色、生肖、月份等可能出现多个选择,但选择方案是固定的,进行判断,用switch-case合适,while和for其实是可以相互转换的,如果被判断的条件有规律可循,一般用for,效率更高,如果没规律,则while相对较多。所以用哪个一般是习惯问题,用多了就明白哪个合适一点,不是绝对的
75闪光雷 2017-08-21
  • 打赏
  • 举报
回复
引用 11 楼 weixin_39907572 的回复:
[quote=引用 10 楼 低调是种无声的高调的回复:]或者可以把var j声明外置,在里面的for语句中只进行赋值j=0
还有一个问题,if语句,switch语句,while语句,for语句,如何确定每一种问题需要用什么语句去解决?[/quote] 有判断用if 多重判断用swicth while和for请结合具体情况自行把握
75闪光雷 2017-08-21
  • 打赏
  • 举报
回复
引用 10 楼 MrMicrosoft 的回复:
或者可以把var j声明外置,在里面的for语句中只进行赋值j=0
抓住一只水区版主
75闪光雷 2017-08-21
  • 打赏
  • 举报
回复
引用 10 楼 MrMicrosoft 的回复:
或者可以把var j声明外置,在里面的for语句中只进行赋值j=0
抓住一只水区版主
weixin_39907572 2017-08-21
  • 打赏
  • 举报
回复
引用 10 楼 低调是种无声的高调的回复:
或者可以把var j声明外置,在里面的for语句中只进行赋值j=0
还有一个问题,if语句,switch语句,while语句,for语句,如何确定每一种问题需要用什么语句去解决?
weixin_39907572 2017-08-20
  • 打赏
  • 举报
回复
您的意思是让我用这段代码自己试一试?
hongmei85 2017-08-20
  • 打赏
  • 举报
回复

	<pre><script type="text/javascript">
	<!--
		for (var i=0; i<3; i++)
		{
			document.writeln('i:'+i);
			for (var j=0; j<3; j++)
		{
			document.writeln('j:'+j);
		}
		}
	//-->
	</script></pre>
	
weixin_39907572 2017-08-20
  • 打赏
  • 举报
回复
引用 6 楼 yuqiz1981的回复:
外层每次循环都会初始化J;当i=1的时候J就会初始化如此循环
为什么外面的i不初始化呢,而是j初始化。
yuqiz1981 2017-08-20
  • 打赏
  • 举报
回复
外层每次循环都会初始化J;当i=1的时候J就会初始化如此循环
程序员阿军 2017-08-20
  • 打赏
  • 举报
回复
对的,里面和外面的循环的变量都会被初始化
yuqiz1981 2017-08-20
  • 打赏
  • 举报
回复
引用 7 楼 weixin_39907572 的回复:
[quote=引用 6 楼 yuqiz1981的回复:]外层每次循环都会初始化J;当i=1的时候J就会初始化如此循环
为什么外面的i不初始化呢,而是j初始化。[/quote] var i=0;这就是初始化
天际的海浪 2017-08-20
  • 打赏
  • 举报
回复
是的,一般情况下每次循环都要初始化变量
weixin_39907572 2017-08-20
  • 打赏
  • 举报
回复
引用 1 楼 hongmei85的回复:

	<pre><script type="text/javascript">
	<!--
		for (var i=0; i<3; i++)
		{
			document.writeln('i:'+i);
			for (var j=0; j<3; j++)
		{
			document.writeln('j:'+j);
		}
		}
	//-->
	</script></pre>
	
您的意思是让我用这段代码自己试一试?

87,901

社区成员

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

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