在JavaScript中,您可以创建和调用一个函数这样:呼叫动态作用域功能
function test_1(){ console.log(1); }
window['test_1']() // --> 1
但是,我当前的代码的作用范围:
(function(){
function test_1(){ console.log(1); }
window['test_1']() // --> not a function
})();
...作任何创建功能不受窗口级限制,而是限于特定的范围级别。
如何在范围内创建函数,然后动态调用该函数?
*通过动态我的意思是我可以动态地改变与一可变的字符串,如窗口[“测试_” +指数]()。
'window.test_1 =函数(){}' – Rayon
你的问题是监守的全球VS本地范围。 – epascarello
您的第二个代码片段中显示的范围函数的全部要点是限制它们的可用范围。如果你想让它们成为全球可用的,就不要限制它们的范围。如果您不想让它们全球可用,只需从正确的范围访问它们即可。你所要求的组合是不可能的,并且没有意义。 – ArneHugo