Javascript相当于Python的本地人()?

bra*_*rad 22 javascript python

在Python可以得到所有本地和全局变量的字典与内置函数当前范围locals()globals().在Javascript中有一些相同的方法吗?例如,我想做类似以下的事情:

var foo = function(){ alert('foo'); };
var bar = function(){ alert('bar'); };

var s = 'foo';
locals()[s](); // alerts 'foo'
Run Code Online (Sandbox Code Playgroud)

这是可能的,还是我应该只使用本地对象进行查找?

sve*_*joh 17

  • 当地人() - 没有.

  • globals() - 是的.

window是对全局范围的引用,就像globals()在python中一样.

globals()["foo"]
Run Code Online (Sandbox Code Playgroud)

是相同的:

window["foo"]
Run Code Online (Sandbox Code Playgroud)

  • 仅在实现*window*的浏览器或其他主机环境中. (5认同)
  • 当没有*window*时,有*global* - http://stackoverflow.com/q/10984629/596361 (4认同)