我对JavaScript缺乏经验,所以我真的不知道我做错了什么。
这非常有效:
myarray = [];
myarray.push(1);
这也非常有效:
myarray = [];
function example(){
myarray.push(1);
}
example();
这根本不起作用:
myarray = [];
function example(){
myarray.push(1);
}
$(window).load(function(){
example();
});
我是否更改了范围或$(window).load(function(){...
?
如何使example()
像在第三个代码段的第二个代码段中那样执行?
window.onload 事件在加载完整的 DOM 时触发,因此在第三种情况下 example() 将在稍后运行,其他代码将更早运行。
我重现了您的问题,可能是我不正确,但以下是我观察到的运行代码
myarray = [];
function example(){
myarray.push(1);
}
$(window).load(function(){
example();
});
setTimeout(function() {
console.log(myarray);
},100);
如果您有其他东西,请回答您自己的问题...我有兴趣更深入地了解