假設我有以下代碼:2個功能同時執行。可能嗎?
var funcIsRunning = 0;
function a(){
funcIsRunning = 1;
// some code ... (maybe lots of code);
funcIsRunning = 0;
}
是否有任何機會,一些異步函數會趕上在「1」位置funcIsRunning標誌? (例如XHR的回調或通過setTimeout調用的函數等) 或者相同,兩個函數可以同時執行(而不是一個接一個地執行)?
只是爲了說清楚......事實上,我不必同時運行2個funcs ...我只是想知道它是如何工作的。
P.S.如果您能提供您的答案的文檔/基礎,我將不勝感激 非常感謝!
這裏製造的測試,說明給出的答案:http://jsfiddle.net/rz7tvyof/
通常你根本不依賴於任何特定的執行順序。有關更多信息,請參閱http://blog.carbonfive.com/2013/10/27/the-javascript-event-loop-explained/ – jgillich 2014-10-10 07:42:33