求解:jquery是如何实现多个$(function(){})顺序执行
2个回答
展开全部
没深入研究过,但是原理肯定是利用堆栈。因为实际上这个操作并不完全是由jQuery实现的,jQ也是利用了原生js的addEventListener方法。其实你可以利用数组模仿,例如
var demo = [];
for (i = 0; i < 10; i ++) demo.push(i);//入栈
var num = null;
while (num = demo.shift()) {
alert(num);//demo.shift(),数组的第一个元素弹出。相反的demo.pop(),最后一个元素弹出。
}
更多追问追答
追答
window.$onload = ...这样不是变量赋值了么,第二次的覆盖掉第一个咯。
window.$onload = [];
window.$onload.push(function($){$('button').button();});
window.$onload.push(function($){$.jwf.act.notify('...');});
//base.js
var cbFn = false;
while(cbFn = window.$onload.shift()) cbFn(jQuery);
你试试看
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询