隐含全局变量和全局对象

时间:2014-10-01 19:55:01

标签: javascript global-variables google-chrome-devtools

我试图通过试验我的控制台和plunker来了解一些隐含的全局变量。

我正在创建一个自我调用函数,

(function () {
  toto = 1;
})();

根据我正在阅读的书,

  

...暗示全局变量在技术上不是真正的变量,   但它们是全局对象的属性。

我试图看看在这个函数调用之后,我可以访问toto作为全局对象的属性 - 在浏览器中,它是window

当我使用hasOwnProperty('toto')时,(通过直接在控制台中输入)我得到了错误。 我想我会使用in,实际上,toto是“在”窗口中(因此,它不在窗口本身,而是在它的子对象中)

你可以放些光吗? 知道如何使用Chrome Web Tools来检查在任何给定时间声明的所有变量的状态吗?

1 个答案:

答案 0 :(得分:0)

您可能正在从控制台运行hasOwnProperty,并且您选择了错误的框架。

我在包含plunker网站的所有框架中运行了hasOwnProperty命令,并且在某些框架中我得到了true和false + toto甚至没有初始化(ReferenceError:toto未定义)。