javascript反射:获取变量

时间:2010-07-05 13:59:17

标签: javascript reflection variables

如何在javascript中获取全局和/或局部变量的集合?

(例如,在globals()locals()中的Python)

如果javascript中没有这样的功能,一些javascript控制台界面如何获取它们,以便能够自动完成?

1 个答案:

答案 0 :(得分:4)

您正在寻找for / in循环。

获得所有全局变量:

for(var name in this) {
    var value = this[name];
    //Do things
}

(这只能在全局范围内运行时才能正常工作;您可以将其包装在匿名函数中以确保它。但是,请注意with块)

获取特定对象的所有属性:

for(var name in obj) {
    //Optionally:
    if (!obj.hasOwnProperty(name)) continue;    //Skip inherited properties

    var value = obj[name];
    //Do things
}

但是,无法遍历所有本地变量。