a = 123; // becomes global var
var b = 234; // local var
function f() {} // local func
g = function() {} // got a global func
现在如何打印a
和g
(以及迄今为止的所有其他全局变量),但不打印b
和f
(以及此刻的其他局部变量)
console.log(this)// is not working.
编辑: 建议使用" window"变量只能在浏览器中工作,但嵌入式Javascript或Node.js没有"窗口"变量
答案 0 :(得分:0)
怎么样:
var globals = window || global;
for (var key in globals){
console.log(window[key]);
}
答案 1 :(得分:0)
所有全局变量都存储在浏览器中的window
对象上。或者,它们存储在Node.js中的global
或GLOBAL
对象上。您可以枚举该对象的键,但请记住,它将包含很多,远远超过用户定义的全局变量。
答案 2 :(得分:0)
Globals附加到全局对象,在浏览器中是全局对象的窗口。
a = 123
与
相同window.a = 123