Do I need to create a variable in a for-loop?
我是JavaScript的新手,所以如果这个问题太愚蠢我很抱歉。 有人告诉我,当你创建一个
1 | for (var i = 0; i < 10; i++) |
但有时我忘记在
1 | for (i = 0; i < 10; i++) |
它的工作方式相同。 我需要创建变量
两者之间的主要区别是什么
1 | var i = 0 |
和
1 | i = 0 |
在
不使用
当您使用
如果不使用
在没有
关于你的循环,这不是必要的,但不好的做法
基本上,您的代码是有效的,因为您正在创建一个全局变量。最佳做法是使用循环内部的var显式创建变量。这就是我所说的垃圾变量。它永远不会离开循环的范围,因此您可以继续为所有循环使用相同的变量名称(除非您正在嵌套)。
区别在于您的浏览器需要知道是否要声明值为'0'的变量'i',或者您想要将'0'分配给已存在的变量'i'。
浏览器(或大多数)将知道是否已存在具有此类名称的变量,因为它可以只查找其变量库。但是对于我们这些人来说,将'var'放在它前面是非常有用的,所以我们知道这是声明。
在其他语言中,'var'或任何数据类型定义(如'int','char'或'bool')是必需的,但至少在Javascript中,它只是根据顺序和易于阅读代码编写的。
1 2 3 4 5 6 7 8 | function someCode('awesome', 'hyper-fast'){ ... ... i = 0; // if this is a declaration, write 'var', so we know ! ... ... return 'backHome'; } |
您可以像
1 2 3 4 5 6 7 8 9 10 | var i=0; for(;;) { // something need to perform i++; // breaks your loop here if(i > 10) break; } |
你可以在循环之前定义变量,就像这样
1 2 | var i = 0; for(i;i<10;i++) |
这将是有效的。所以你可以在你循环之前定义变量。循环中的变量是相同的,就像它之前一样。