在JavaScript(简称JS)中,声明变量主要有三种方式:var
、let
和const
。以下是关于这三种声明方式的详细解释:
var
var
是JavaScript中最早用于声明变量的关键字。它是函数作用域或全局作用域的,这意味着如果在函数内部声明,它只在该函数内部可见;如果在函数外部声明,它在整个程序中都可见。let
let
是ES6(ECMAScript 2015)引入的新关键字,用于声明块级作用域的变量。块级作用域意味着变量只在声明它的代码块(如if
语句、for
循环等)内部可见。var
的变量提升问题;提供了更严格的块级作用域,有助于减少错误和提高代码可读性。let
是更好的选择。const
const
也是ES6引入的关键字,用于声明常量。一旦声明并赋值后,常量的值就不能再改变。// 使用 var 声明变量
var a = 10;
if (true) {
var a = 20; // 这里的 a 和上面的 a 是同一个变量
console.log(a); // 输出 20
}
console.log(a); // 输出 20
// 使用 let 声明变量
let b = 10;
if (true) {
let b = 30; // 这里的 b 和上面的 b 不是同一个变量,因为 let 是块级作用域
console.log(b); // 输出 30
}
console.log(b); // 输出 10
// 使用 const 声明常量
const c = 10;
if (true) {
const c = 40; // 这里的 c 和上面的 c 不是同一个常量
console.log(c); // 输出 40
}
console.log(c); // 输出 10
// 尝试修改 const 声明的常量的值(会报错)
// const d = 10;
// d = 20; // TypeError: Assignment to constant variable.
var
(但请注意其限制)。let
。const
。领取专属 10元无门槛券
手把手带您无忧上云