【发布时间】:2019-11-25 18:31:17
【问题描述】:
我意识到没有办法获得dictionary of local variables in a javascript function,也没有equivalent of python's locals()。但是,有没有办法编写一个有助于此的函数。例如,类似:
var a = 1;
var b = 2;
var output = locals(a, b);
console.log(output);
输出将是一个包含所有变量的字典:
{
"a": 1,
"b": 2
}
或者,除了我手动创建地图并插入每个字段之外的任何其他方式。
【问题讨论】:
-
你能用数组来做这个吗?
-
正如您链接的问题所说:不。JS 没有提供检查存在哪些变量的机制(除了作为副作用添加到默认对象时的全局变量)
-
如果要进行静态函数调用,引用变量,可以使用对象字面量的短属性语法:
const output = { a, b } -
@Quentin,我不是要求检查范围内的变量。我明白这是不可能的。我在问是否有办法创建一个辅助方法来帮助创建一个指定局部变量的字典。该方法将传递所有感兴趣的变量。所以,这个问题并不是真的重复。
标签: javascript