Js中的var let const有什么区别 代码演示一下区别
时间: 2023-03-10 11:54:38 浏览: 126
var、let 和 const 都是 JavaScript 中的用于声明变量的关键字。var 用于声明变量,let 用于声明块级作用域变量,而 const 用于声明常量,它的值不可以改变。例子:// 使用 var 声明变量
var name = 'ChatGPT';// 使用 let 声明变量
let age = 2;// 使用 const 声明常量
const PI = 3.14;
相关问题
`let`关键字与`var`关键字有什么区别?
`let`关键字与`var`关键字有以下区别:
1. 作用域:`let`关键字具有块级作用域,而`var`关键字具有函数作用域。块级作用域是指在`{}`内部定义的变量只在该块内部有效,而函数作用域是指在函数内部定义的变量只在该函数内部有效。
2. 变量提升:使用`var`关键字声明的变量会发生变量提升,即变量可以在声明之前使用。而使用`let`关键字声明的变量不会发生变量提升,必须在声明之后才能使用。
3. 重复声明:使用`var`关键字重复声明同一个变量不会报错,而使用`let`关键字或`const`关键字重复声明同一个变量会报错。
4. 全局对象属性:使用`var`关键字声明的全局变量会成为全局对象的属性,而使用`let`关键字或`const`关键字声明的变量不会成为全局对象的属性。
5. 循环中的作用域:在`for`循环中使用`var`关键字声明的变量具有函数作用域,而在`for`循环中使用`let`关键字声明的变量具有块级作用域。
以下是一个示例代码来演示`let`关键字与`var`关键字的区别:
```javascript
// 使用var关键字
for (var i = 0; i < 5; i++) {
setTimeout(function() {
console.log(i); // 输出:5 5 5 5 5
}, 1000);
}
// 使用let关键字
for (let j = 0; j < 5; j++) {
setTimeout(function() {
console.log(j); // 输出:0 1 2 3 4
}, 1000);
}
```
阅读全文