有一種非常常見的技術來編寫$而不是jQuery將其包裝在函數中,如下所示:(function($) { //Code here})(jQuery);現在,問題在于,您在一個小的本地范圍內,這在大多數情況下是好的,但是如果您嘗試通過字符串構造動態調用函數名稱:let dynamic_name = some_function_name; //but should be dynamic, duhwindow[dynamic_name]();將無法工作,因為您在該本地范圍內操作,而不是在該window范圍內操作,它將無法找到該功能,例如:(function($) { //If we put this outside of this scope, it works. function test() { console.log('test'); } let name = 'test'; window[name]();})(jQuery);<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>這也意味著如果您的腳本被用作庫,則您的函數不可調用,因為您將它們包裝在匿名函數中。你如何解決這個問題?
如何在不包含匿名函數的情況下為 jQuery 使用美元符號?
夢里花落0921
2021-09-30 17:07:49