js中let、const、var区别并举例子
时间: 2024-01-27 19:05:45 浏览: 29
嗨!关于 js 中 let、const、var 的区别,我可以给你讲讲哦。let、const 和 var 都是变量声明关键字,但它们的作用域和生命周期略有不同。
var 声明的变量作用域是函数作用域或全局作用域,在声明之前和声明之后都可以访问到,也没有块级作用域。
let 和 const 则是块级作用域,只有在声明所在的块内才能访问到,且在声明之前它们是不存在的。其中 let 声明的变量是可变的,而 const 声明的变量是不可变的常量。
举个例子,我们来看看代码:
```
function example() {
var i = 1;
if (true) {
var i = 2; // var 声明的 i 覆盖了函数作用域内的 i
console.log(i); // 输出 2
}
console.log(i); // 输出 2
}
function example2() {
let j = 1;
if (true) {
let j = 2; // 块级作用域内声明的 j 不会影响外部的 j
console.log(j); // 输出 2
}
console.log(j); // 输出 1
}
function example3() {
const PI = 3.14;
PI = 3; // 尝试修改常量将导致运行时错误
}
```
希望这个例子可以帮到你!
相关问题
js中constvar和let的区别
在 JavaScript 中,const、var 和 let 都是用来声明变量的关键字,它们之间的区别如下:
1. const 声明的是一个常量,一旦被赋值就无法被修改,而 var 和 let 声明的变量可以被重复赋值。
2. const 声明的变量必须在声明时被初始化,而 var 和 let 声明的变量可以在之后被初始化。
3. const 声明的变量是块级作用域,与 let 相同,而 var 声明的变量是全局作用域或函数作用域。
4. const 声明的变量不能被删除,而 var 和 let 声明的变量可以被删除。
5. const 声明的变量不能被提升,而 var 和 let 声明的变量可以被提升。
总的来说,const 更适合声明一些不会被修改的常量,而 var 和 let 更适合声明一些可变的变量。同时,使用 let 和 const 还可以避免 var 带来的一些变量提升和作用域问题。
js中var let const区别
var是ES5中定义变量的关键字,可以在全局作用域和函数作用域中使用,但存在变量提升的问题。
let和const是ES6中新增的定义变量的关键字,let定义的变量可以在块级作用域中使用,不存在变量提升的问题;const定义的变量也是块级作用域中的,但是其值一旦被赋值就不能再被修改。