有一种非常常见的技术来编写$而不是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>这也意味着如果您的脚本被用作库,则您的函数不可调用,因为您将它们包装在匿名函数中。你如何解决这个问题?
添加回答
举报
0/150
提交
取消