范围是在这里更改还是其他?
Is the scope being changed here or is it something else?
我对 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() 将 运行 稍后,而其他代码将 运行 更早。
我重现了您的问题,可能我不正确,但下面是 运行ning 代码,无论我观察到什么
myarray = [];
function example(){
myarray.push(1);
}
$(window).load(function(){
example();
});
setTimeout(function() {
console.log(myarray);
},100);
如果您有其他问题,请回答您自己的问题...我有兴趣深入了解
我对 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() 将 运行 稍后,而其他代码将 运行 更早。
我重现了您的问题,可能我不正确,但下面是 运行ning 代码,无论我观察到什么
myarray = [];
function example(){
myarray.push(1);
}
$(window).load(function(){
example();
});
setTimeout(function() {
console.log(myarray);
},100);
如果您有其他问题,请回答您自己的问题...我有兴趣深入了解