Javascript 定义的变量为';窗口对象中没有显示

Javascript 定义的变量为';窗口对象中没有显示,javascript,Javascript,我编写了如下javascript代码: var var1 = 1; window.var2 = 2; 现在在chrome控制台上,我键入了窗口,并查看了它,但我找不到第一个变量,只显示了第二个变量。我想这两个变量都应该存在于全局窗口对象上。 有人能解释一下原因吗?这两个变量在windows对象中都是可见的: var var1=1; window.var2=2; log(Object.keys(window.filter)(k=>k.substr(0,3)='var')似乎是因为我在scrip

我编写了如下javascript代码:

var var1 = 1;
window.var2 = 2;
现在在chrome控制台上,我键入了
窗口
,并查看了它,但我找不到第一个变量,只显示了第二个变量。我想这两个变量都应该存在于全局窗口对象上。
有人能解释一下原因吗?

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

var var1=1;
window.var2=2;

log(Object.keys(window.filter)(k=>k.substr(0,3)='var')
似乎是因为我在
script
标记中添加了
type=“module”
属性。除去它,我可以在全局窗口对象上看到它

<script type="module" src="js/app.js"></script>


并且您没有注意到控制台错误
未捕获的语法错误:意外的标记'。
??
var window.var2=2----------><代码>window.var2=2现在它在上次编辑后工作正常
var
(即“window.var2”)之后的字符被解释为标识符,标识符中不能有点。在我的情况下,它不是。这可能与我的Chrome设置有关吗?这是我的控制台在第三行添加时返回的结果:(2)[“ondeviceorientationabsolute”,“var2”]但是您从上面的代码片段(在SO代码片段窗口内)中看到的结果是什么?在您的答案上单击上面的
运行代码片段
,我会看到这两个变量。然而,在我的本地机器上,我只看到了第二个变量。同样,Firefox上也存在同样的问题。只需查看
窗口
对象上显式定义的变量。