请考虑以下Javascript代码:
function(){
setTimeout(function() {
$("#output").append(" one ");
}, 1000);
setTimeout(function() {
$("#output").append(" two ");
}, 1000);
}
Run Code Online (Sandbox Code Playgroud)
你也可以在jsfiddle上看到这个例子.
我可以确定该值#output始终按此"one two"顺序排列吗?通常,我会像这样处理这个问题:
function(){
setTimeout(function() {
$("#output").append(" one ");
$("#output").append(" two ");
}, 1000));
}
Run Code Online (Sandbox Code Playgroud)
但我不能那样做,因为我从服务器获取消息,告诉我要执行哪个函数(在这个例子中追加"one"或追加"two"),我必须以一个小延迟执行.
我已经在Internet Explorer 9,Firefox 14,Chrome 20和Opera 12中测试了这个代码,输出总是如此"one two",但我能确定这种情况总是如此吗?