JS循环定义变量名
时间: 2023-07-01 17:28:14 浏览: 53
JavaScript 中循环定义变量名有两种方式,分别是使用 `var` 和 `let` 声明变量。
1. 使用 `var` 声明变量
在使用 `var` 声明变量时,变量的作用域是函数作用域或全局作用域,而不是块级作用域。因此,循环中使用 `var` 声明变量时,需要注意变量的作用域问题。
示例代码:
```
for (var i = 0; i < 5; i++) {
var name = "user" + i;
console.log(name);
}
console.log(name); // 输出 user4
```
在上述示例中,使用 `var` 声明的 `name` 变量的作用域为函数作用域,因此循环中声明的 `name` 变量会覆盖之前的值,最终输出的是 `user4`。
2. 使用 `let` 声明变量
在 ES6 中,新增了 `let` 声明变量的关键字,使用 `let` 声明变量时,变量的作用域是块级作用域,因此可以解决循环中变量作用域的问题。
示例代码:
```
for (let i = 0; i < 5; i++) {
let name = "user" + i;
console.log(name);
}
console.log(name); // 报错:name is not defined
```
在上述示例中,使用 `let` 声明的 `name` 变量的作用域是块级作用域,因此每次循环都会创建一个新的 `name` 变量,输出的结果分别为 `user0`,`user1`,`user2`,`user3`,`user4`。而在循环结束后,由于 `name` 变量的作用域已经结束,因此无法在循环外部访问。