首页 > 解决方案 > 定义的变量不会显示在窗口对象中

问题描述

我写了一个这样的javascript代码:

var var1 = 1;
window.var2 = 2;

现在在 chrome 控制台上,我输入window并查看了它,但我找不到第一个变量,只显示了第二个变量。我想这两个变量都应该存在于全局窗口对象上。有人可以澄清这是为什么吗?

标签: javascript

解决方案


这两个变量在 windows 对象中都是可见的:

var var1 = 1;
window.var2 = 2;
console.log(Object.keys(window).filter(k=>k.substr(0,3)=='var'));

这将产生:

[
  "var1",
  "var2"
]

推荐阅读