返回

变量、作用域和内存(js高程知识点记录)

前端

变量

变量是JavaScript中存储数据的命名位置。它们可以存储任何类型的数据,包括字符串、数字、布尔值和数组。变量的声明方式如下:

var variableName = value;

例如,以下代码声明了一个名为message的变量,并将其值设置为"Hello, world!"

var message = "Hello, world!";

作用域

作用域是变量可用的范围。JavaScript有两种作用域:全局作用域和局部作用域。

  • 全局作用域:全局作用域是整个脚本都可以访问的作用域。在全局作用域中声明的变量称为全局变量。
  • 局部作用域:局部作用域是函数内部的作用域。在局部作用域中声明的变量称为局部变量。

内存

内存是计算机存储数据的地方。JavaScript中的变量存储在计算机的内存中。当您声明一个变量时,JavaScript会在内存中为该变量分配空间。变量的值存储在这个空间中。

当您访问一个变量时,JavaScript会从内存中读取该变量的值。如果该变量是全局变量,JavaScript会从全局作用域的内存中读取该变量的值。如果该变量是局部变量,JavaScript会从局部作用域的内存中读取该变量的值。

内存管理

JavaScript使用自动内存管理。这意味着JavaScript会自动释放不再使用的变量所占用的内存空间。例如,当您离开一个函数时,JavaScript会自动释放该函数中声明的所有局部变量所占用的内存空间。

示例

以下是一个JavaScript代码示例,演示了变量、作用域和内存的概念:

// 全局变量
var globalVariable = "Hello, world!";

// 局部变量
function myFunction() {
  var localVariable = "I'm a local variable";

  // 访问全局变量
  console.log(globalVariable);

  // 访问局部变量
  console.log(localVariable);
}

// 调用函数
myFunction();

当您运行这段代码时,JavaScript会在内存中为globalVariablelocalVariable这两个变量分配空间。然后,JavaScript会将"Hello, world!"的值存储在globalVariable变量中,并将"I'm a local variable"的值存储在localVariable变量中。

myFunction()函数被调用时,JavaScript会在内存中为localVariable变量分配空间。然后,JavaScript会将"I'm a local variable"的值存储在localVariable变量中。

myFunction()函数执行完后,JavaScript会自动释放localVariable变量所占用的内存空间。

当您在控制台中查看输出时,您会看到以下结果:

Hello, world!
I'm a local variable

这表明全局变量globalVariable的值可以在函数内访问,而局部变量localVariable的值只能在函数内访问。