例如,我们有一个变量和一个名为foo
and的函数plus
:
var foo = 2
;
var plus = function(a,b){return a+b;}
我们有一个字符串:
var s = '1 plus foo';
现在我想将此字符串s
转换为数组:
var array = [1, plus, foo]);
请注意,这不是[1, 'plus', 'foo']
哪个转换那么容易,我知道方法。
因此,因此,我的问题是
如何从字符串获取值(函数)本身?
并且还请注意,eval
用于解决此问题是无效的,因为其目的不是求值,而是根据字符串构造一个数组。
谢谢。
编辑:
由于我使用了node.js
全局对象是global
,它似乎global.foo
并var foo
不同。
我觉得在提出这个问题之前,这就是为什么我在这里问。
[1, global['plus'], global['foo']]
应该是无效的答案。
我的自我回答:
var G = {};
var foo = G.foo = 2
;
var plus = G.plus = function(a,b){return a+b;}
我们有一个字符串:
var s = '1 plus foo';
现在我想将此字符串s
转换为数组:
var array = [1, G['plus'], G['foo']];
这样,我们可以避免使用全局变量并保留var foo
格式,同时允许使用G object + ['string']访问该值。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句