内外循环使用同名变量问题

//内部使用同名变量 会出现死循环问题

for(var i=0;i<50;i++){console.log(‘外部i‘,i);
for(var i=0;i<10;i++){
console.log(‘内部i‘,i);
}
console.log(‘循环‘,i); //内部循环结束后,此处i变为10, 覆盖外层循环里的i值,  // 外层循环的下一次循环会从11开始,而内部又重新声明i,内部又从0-10循环10次, //然后又开始外部循环:11开始;  陷入死循环。
}

运行结果图:

时间: 2024-10-31 04:02:29

内外循环使用同名变量问题的相关文章

一个整数,大于0,不用循环和本地变量,按照 n, 2n, 4n, 8n 的顺序递增,当值大于5000 时,把值按照指定顺序输出来。

1 package sfbc; 2 /** 3 * 一个整数,大于0,不用循环和本地变量,按照 n, 2n, 4n, 8n 的顺序递增,当值大于5000 4 时,把值按照指定顺序输出来. 5 例: n=1237 6 则输出为: 7 1237, 8 2474, 9 4948, 10 9896, 11 9896, 12 4948, 13 2474, 14 1237, 15 提示:写程序时,先致谢按递增方式的代码,写好递增的以后,再增加考虑递减部分. 16 * @author trfizeng 17

子类继承父类时,子类与父类有同名变量,当使用子类对象调用父类方法使用同名变量,这个变量是子类的,还是父类的? (改)

1 public class Test4 { 2 public static void main(String[] args){ 3 Son son = new Son(); 4 son.minusOne(); 5 System.out.println(son.testValue); 6 System.out.println(son.getSuperTestValue()); 7 son.plusOne(); 8 System.out.println(son.testValue); 9 Syst

C# 使用IEnumerable,yield 返回结果,同时使用foreach时,在循环内修改变量的值无效

在项目中遇到了一个比较奇怪的问题,在foreach循环中修改列表的值后没有生效,后面使用时还是获取列表时的值,原因是因为使用了 yield return .下面让我们来探究下其中的原因: 首先来看下 yield return 官方的解释 使用 yield return 语句可一次返回一个元素.通过 foreach 语句或 LINQ 查询来使用迭代器方法. foreach 循环的每次迭代都会调用迭代器方法. 迭代器方法运行到 yield return 语句时,会返回一个 expression,并保

使用while循环语句和变量输出九九乘法表

-设置变量ideclare @i int --设置变量jdeclare @j int --设置乘法表变量declare @Multiplication Table varchar(500)--给i,j,@Multiplication Table赋初始值select @i=9,@j=1,@Multiplication Table=''--使用whIle循环语句和变量打印九九乘法表while @i>=1beginset @[email protected]while @j>=1beginselec

控制器controller与指令中的link、controller中同名变量作用域的关系

angularjs中的作用域与原生js中的函数嵌套原理一致,都是存在作用域的继承.若在子控制器(同样包括在指令中的link或是controllerding中定义变量,此时指令中必须未使用scope独立作用域)未定义相关变量,那么它会向父控制器一层层查找,直到找到位为止. 若在自定义指令中的link.controller与该指令的父控制器定义了同名变量,那它的作用域是如何的呢,以及指令中的独立作用域scope会对改变量产生怎样的影响,以例说明: HTML: <div ng-controller=&qu

使用whIle循环语句和变量打印九九乘法表

-设置i变量declare @i int --设置j变量declare @j int --设置乘法表变量declare @chengfabiao varchar(1000)--给i,j,@chengfabiao赋初始值select @i=9,@j=1,@chengfabiao=''--使用whIle循环语句和变量打印九九乘法表while @i>=1begin set @[email protected] while @j>=1 begin select @chengfabiao=convert

C++在循环内和循环外定义变量的差异(如何写出高效的for循环)

写这篇文章的原因是我在问答平台看到的一个问题: C++内层循环中定义变量和在外面定义比影响大吗? 问题来自:http://ask.csdn.net/questions/176270 例如: for(int i=0;i<999;i++) { for(int j=0;j<999;j++); } 内层循环每次都定义j会造成多大的消耗呢? 此处我给出的回答是: 这个需要看你具体用什么编译器.不过主流编译器(如vs和gcc)这一块优化都比较好,不会反复分配变量. 看到答案和评论,好像有很多人对这个感兴趣

C++演示在不同的范围内不冲突使用同名变量的范例的代码

把做工程过程中经常用的内容段珍藏起来,下边资料是关于C++演示在不同的范围内不冲突使用同名变量的范例的内容. #include <iostream> using std::cout; using std::endl; { public: }; { } { return x; } int main() { abc a; cout << "Scope within class abc: x = " << a.x << "nScope

java内外循环打印阶梯*号

一.顺阶梯*打印 先上结果图 思路:该结果图的基本组成单位是一个*号,采用内外for循环来实现,代码如下: 1 class dayin 2 { 3 public static void main(String[] args) 4 { 5 for(int x=4;x>=0;x--) 6 { 7 for(int y=5;(y-x)>0;y--) 8 { 9 System.out.print("*"); 10 } 11 System.out.println(); 12 } 13