js中 const和var有什么不同
时间: 2024-05-04 17:19:17 浏览: 128
在 JavaScript 中,`const` 和 `var` 是用来声明变量的关键字,二者的主要区别在于它们所声明的变量的作用域和可变性。
`var` 声明的变量是函数作用域或全局作用域的变量,可以被重新赋值。例如:
```
function example() {
var x = 10;
if (true) {
var x = 20;
console.log(x); // 20
}
console.log(x); // 20
}
example();
```
在这个例子中,`var x` 被定义在函数作用域中,它可以在 if 语句块中被重新赋值,并在函数作用域中保留这个新的值。
而 `const` 声明的变量是块级作用域的常量,一旦被赋值就不能再次被重新赋值。例如:
```
function example() {
const x = 10;
if (true) {
const x = 20;
console.log(x); // 20
}
console.log(x); // 10
}
example();
```
在这个例子中,`const x` 被定义在块级作用域中,它在 if 语句块中被重新赋值,但是在函数作用域中仍然保留着原来的值。
总之,`const` 适用于需要定义不可变量的场合,而 `var` 适用于需要定义可变量的场合。在使用变量时,应该根据实际需要选择合适的关键字。
相关问题
const和var有什么区别
在 JavaScript 中,`var` 和 `const` 都是用于声明变量的关键字,但它们有以下几个区别:
1. 变量提升:使用 `var` 声明的变量会被提升到作用域的顶部,因此可以在声明前使用变量;而使用 `const` 声明的变量则不会被提升,必须在声明后才能使用。
2. 作用域:使用 `var` 声明的变量是函数作用域或全局作用域,而 `const` 和 `let` 声明的变量是块级作用域。
3. 变量值:使用 `var` 声明的变量可以被重新赋值,而 `const` 声明的变量不能被重新赋值,但是可以修改变量的属性。
4. 声明方式:使用 `var` 声明的变量可以先声明后赋值,也可以声明并赋值,而 `const` 声明的变量必须在声明时赋值,并且不能再次赋值。
总的来说,`const` 更适用于声明不会被重新赋值的常量,而 `var` 则适用于声明可变的变量。在 ES6 中,`let` 也可以被用来声明块级作用域的变量,它与 `const` 的区别在于可以被重新赋值。
js中const和var的区别
var 和 let/const 都是 JavaScript 中声明变量的关键字,但是它们在作用域和变量提升方面有一些不同。
var 声明的变量存在变量提升,在代码块执行前就已经存在,并且值为 undefined。
let 和 const 声明的变量不存在变量提升,在代码块执行前不存在,并且在代码块内部作用域内有效。
let 声明的变量可以被重新赋值,而 const 声明的变量不能被重新赋值。
阅读全文