变量、作用域和内存(js高程知识点记录)
2024-01-13 15:15:06
变量
变量是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会在内存中为globalVariable
和localVariable
这两个变量分配空间。然后,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
的值只能在函数内访问。