"var"、"let"和"const"有什么区别?分别举一个实例代码
时间: 2024-02-19 19:56:44 浏览: 24
"var"、"let"和"const"是JavaScript中用于声明变量的关键字,它们有以下区别:
1. "var":在ES5及之前的版本中使用,它声明的变量具有函数作用域,即在声明的函数内部有效。如果在函数外部声明的话,它将成为全局变量。"var"声明的变量可以被重新赋值和重新声明。
示例代码:
```
function example() {
var x = 10;
if (true) {
var x = 20;
console.log(x); // 输出20
}
console.log(x); // 输出20
}
example();
```
2. "let":在ES6及之后的版本中引入,它声明的变量具有块级作用域,即在声明的块(如if语句、for循环等)内部有效。"let"声明的变量可以被重新赋值,但不能被重新声明。
示例代码:
```
function example() {
let x = 10;
if (true) {
let x = 20;
console.log(x); // 输出20
}
console.log(x); // 输出10
}
example();
```
3. "const":也是在ES6及之后的版本中引入,它声明的变量同样具有块级作域。与"let"不同的是,"const"声明的变量是常量,一旦被赋值后就不能再被修改,并且不能被重新声明。
示例代码:
```
function example() {
const x = 10;
if (true) {
const x = 20;
console.log(x); // 输出20
}
console.log(x); // 输出10
}
example();
```