我试图通过试验我的控制台和plunker来了解一些隐含的全局变量。
我正在创建一个自我调用函数,
(function () {
toto = 1;
})();
根据我正在阅读的书,
...暗示全局变量在技术上不是真正的变量, 但它们是全局对象的属性。
我试图看看在这个函数调用之后,我可以访问toto作为全局对象的属性 - 在浏览器中,它是window
。
当我使用hasOwnProperty('toto')
时,(通过直接在控制台中输入)我得到了错误。
我想我会使用in
,实际上,toto是“在”窗口中(因此,它不在窗口本身,而是在它的子对象中)
答案 0 :(得分:0)
您可能正在从控制台运行hasOwnProperty,并且您选择了错误的框架。
我在包含plunker网站的所有框架中运行了hasOwnProperty命令,并且在某些框架中我得到了true和false + toto甚至没有初始化(ReferenceError:toto未定义)。