考虑以下JavaScript代码:
function(){
setTimeout(function() {
$("#output").append(" one ");
}, 1000);
setTimeout(function() {
$("#output").append(" two ");
}, 1000);
}
你也可以在 jsfiddle 上查看此示例。我能确定
#output
的值总是按这个顺序为 "one two"
吗?通常,我会像这样处理这个问题:function(){
setTimeout(function() {
$("#output").append(" one ");
$("#output").append(" two ");
}, 1000));
}
但我无法这样做,因为我从服务器接收到消息,告诉我要执行哪个函数(在此示例中是追加"one"
或追加"two"
),我必须稍微延迟后执行。
我已经在Internet Explorer 9、Firefox 14、Chrome 20和Opera 12中测试了这段代码,输出始终是"one two"
,但我能确定这总是这样吗?