JavaScript的:将字符串转换为预定义变量的值
-
20-09-2019 - |
题
我有一个JavaScript对象,看起来像下面这样:
venue = function(map, dataSet) {
// set some constants
this.VENUE_ID = 0;
this.VENUE_NAME = 1;
this.VENUE_CITY = 2;
this.filterBy = function(field, value) {
...
var filterValue = 'parent.VENUE_' + field;
}
}
现在,问题是,我需要filterValue
的值包含在父对象上的恒定的值。目前我已用上文及然后所示的方法试图访问数组项时参照该filterValue,但这只是返回未定义试过。
如何将filterValue
变量转换成它代表?
解决方案
此无关与可变范围。
var filterValue = this['VENUE_' + field];
会做。
其他提示
JavaScript有没有“父”的概念。我想你混淆范围和背景。如果该方法写成VAR filterBy()你必须访问它在不同的“范围”。但是,通过使用“这个”,你在同一个对象保存在它被写入。所以,你写的一切都是在“这个”背景下。
尝试这种情况:
var filterValue = this['VENUE_' + field];
不隶属于 StackOverflow