📜  javascript 列出所有声明的变量 - Javascript (1)

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

JavaScript 列出所有声明的变量

在 JavaScript 中,变量是用于存储数据值(比如数字、字符串、对象等)的标识符。在代码中声明变量通常使用关键字 varletconst

var

var 关键字用于声明一个变量,如果在声明时没有初始化它,那么它的值将为 undefined。举个例子,声明一个名为 foo 的变量并初始化它为 42

var foo = 42;

在使用 var 关键字声明的变量,可以在后续的代码中通过其名称来引用它。

let

let 关键字也用于声明一个变量,和 var 不同的是,let 声明的变量可以被重新赋值,而不需要重新声明它们。举个例子,声明一个名为 bar 的变量并重新赋值为 43

let bar = 43;
bar = 44;
const

const 关键字也用于声明一个变量,和 let 不同的是,const 声明的变量不能被重新赋值。举个例子,声明一个名为 baz 的变量并初始化它为 45

const baz = 45;

尝试重新赋值 baz 会导致一个 TypeError:

baz = 46; // TypeError: Assignment to constant variable.
列出所有声明的变量

为了列出当前 JavaScript 环境中所有声明的变量,我们可以使用 Object.keys() 函数,这个函数接收一个对象作为参数,返回一个由对象的属性名组成的数组。

我们可以通过 window 对象引用全局环境中的变量。全局环境中所有的变量都成为 window 对象的属性。举个例子,假设我们在代码中声明了 foobarbaz 这三个变量:

var foo = 42;
let bar = 43;
const baz = 45;

我们可以使用 Object.keys(window) 来列出所有的变量:

Object.keys(window);

返回结果应该为:

[
  "window",
  "self",
  "document",
  "name",
  "location",
  "history",
  "customElements",
  ...
  "foo",
  "bar"
]

可以看到,在这个结果中,我们可以找到我们定义的三个变量:foobarbaz,其中 foobar 是通过 varlet 声明的,而 baz 是用 const 声明的,这与我们之前的定义是一致的。

结论

在 JavaScript 中,我们可以使用 varletconst 关键字来声明变量。为了列出所有声明的变量,我们可以使用 Object.keys(window) 函数。