📜  js 变量 - Javascript (1)

📅  最后修改于: 2023-12-03 15:32:22.737000             🧑  作者: Mango

JavaScript变量

JavaScript是一种动态类型语言,变量是在运行时自动确定类型的,因此没有必要在声明时说明变量的类型。在JavaScript中,我们使用var、let或者const关键字来声明一个变量。

var关键字

使用var关键字声明的变量是函数级别作用域,如果在函数内部声明了一个变量,那么这个变量只能在函数内部被访问到。

示例代码:

function foo() {
  var x = 1;
  if (true) {
    var x = 2; // 同样是x变量
    console.log(x); // 2
  }
  console.log(x); // 2
}

foo();

在上面的代码中,虽然if语句块中声明了一个新的x变量,但它覆盖了函数作用域中原来的x变量,所以执行完if语句块后x变量的值变成了2。

let关键字

使用let关键字声明的变量是块级别作用域,也就是只在当前代码块内有效。let关键字可以避免在循环中发生类似var关键字的问题。

示例代码:

function foo() {
  let x = 1;
  if (true) {
    let x = 2; // 新的x变量
    console.log(x); // 2
  }
  console.log(x); // 1
}

foo();

在上面的代码中,在if语句块中声明的x变量只在该语句块内有效,执行完if语句块后原来的x变量值不变。

const关键字

使用const关键字声明的是常量,一旦被赋值,就不能再被修改。const一般用于声明一些不会改变的变量,如圆周率、数学常量等等。

示例代码:

const PI = 3.14;
console.log(PI);

PI = 3.1415926; // TypeError: Assignment to constant variable.

在上面的代码中,常量PI被赋值后就不能再被修改。

总之,在JavaScript中,我们可以使用var、let或者const关键字声明变量,具体使用哪个关键字取决于变量的作用域和是否需要被修改。