Javascript 范围是在这里改变还是其他什么?
我对JavaScript非常缺乏经验,所以我真的不知道我做错了什么 这非常有效:Javascript 范围是在这里改变还是其他什么?,javascript,arrays,variables,scope,Javascript,Arrays,Variables,Scope,我对JavaScript非常缺乏经验,所以我真的不知道我做错了什么 这非常有效: myarray = []; myarray.push(1); 这也非常有效: myarray = []; function example(){ myarray.push(1); } example(); 这根本不起作用: myarray = []; function example(){ myarray.push(1); } $(window).load(function(){ exam
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);
如果您还有其他问题,请回答您自己的问题…我有兴趣更深入地了解您是否确实加载了jQuery?应该可以。尝试添加jQuery文件。如果有错误,请查看控制台中的错误。我无法重现您的问题:(在添加警报后,以便显示数组的值)我花了好几个小时试图弄清楚我做错了什么,但所有的时间我都忘记了。非常感谢。