这是一个寻找方法/解决方案来解决以下要求的问题:
- 您有一个运行 jQuery 的网站
- 您网站上的所有 jQuery 函数都可以分为两组:a) 业务相关逻辑(本地函数,如导航等)和 b) 用于获取不太重要内容的函数(如广告) ),我们称之为 a) GROUP L 和另一个 GROUP E(用于外部)。
- 目的是确保 E 组的延迟不会妨碍 L 组的执行,因此 L 组和 E 组应该并行运行,不会互相影响。
如何实现这一目标?
非常简单的例子:
本地组 L:
<script>
$(document).ready(function() {
... local functions, e.g. event listeners for your local navigation ...
}
</script>
E组: 外部各方提供的任何 JavaScript
<script>
$(document).ready(function() {
... external java script code, e.g. Advertiser JS-snippets ...
}
</script>
最佳答案
您可以使用 module patterns 来完成此操作:
(function(main, $, undefined){
GROUP_L = {
group_l_variable : null,
group_l_function : function(data){
//... local functions, e.g. event listeners for your local navigation ...
},
}
GROUP_E = {
group_e_variable : 'cats',
group_e_function : function(data){
//... external java script code, e.g. Advertiser JS-snippets ...
},
}
}(window.main = window.main || {}, jQuery));
您可以在任何地方调用它们;在控制台中尝试一下:
>>GROUP_E.group_e_variable
>>'cats'
>>GROUP_E.group_e_function(my_data)
>> //whatever your function does
还有很多方法可以做到这一点,这种特殊的方法恰好是我最喜欢的。
有关模块模式的更多信息:http://www.adequatelygood.com/JavaScript-Module-Pattern-In-Depth.html
关于javascript - 将 jQuery 函数分成异步组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27959896/