我想通过试用我的控制台和plunker来看到隐含的全局变量是如何工作的。隐含的全局变量和全局对象
我创建一个自调用函数,
(function() {
toto = 1;
})();
按照书我读,
... implied globals are technically not real variables, but they are properties of the global object.
我想看看这个函数调用后,我可以作为全局对象的属性来访问toto - 在浏览器中,它是window
。
当我使用hasOwnProperty('toto')
(通过直接在控制台中输入),我得到了错误。 我想我会使用in
,事实上,toto是“在”窗口(所以,它不是在窗口本身,而是它的一个子对象)
你能说一些吗? 任何想法如何使用Chrome Web Tools来检查在任何给定时间声明的所有变量的状态?
无法重现:http://jsfiddle.net/tbn2mzar/显示为“true”。 – JJJ 2014-10-01 19:58:08
我在Chrome控制台中尝试了这一点,并在窗口和window.hasOwnProperty(“toto”)''返回'true'中都“toto”。你能否给我们更多关于如何重现这种行为的指示? – 2014-10-01 20:01:12
好吧,这很有趣。当你试图从控制台窗口直接得到这个值,你会得到错误..这很奇怪吗? – 2014-10-01 20:01:22