在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