文章出處
文章列表
推薦四篇文章:
- JavaScript 是單線程的深入分析
- JavaScript 運行機制詳解:再談 Event Loop
- JavaScript 異步編程的4種方法
- JavaScript 既是單線程又是異步的,請問這二者是否沖突,以及有什么區別?
一個重要前提:JavaScript 是單線程的,并且只有一個主線程。
我們常說的 JavaScript 異步通常指的是 ajax,準確的來說,它并不是 JavaScript 中的異步,當 JavaScript 執行 ajax 的時候,會讓瀏覽器開啟一個線程進行執行,執行完成之后會有個回調函數,然后瀏覽器會告訴 JavaScript:“我 ajax 執行完了,你該執行回調函數了。”
看一段示例 JavaScript 代碼:
$(document).ready(function () {
var index = 1;
console.log(1);
var response = $.ajax({
type: "get",
url: '/ajax/get2',
async: false
}).responseText;
console.log(2);
$.ajax({
url: '/ajax/get1',
type: 'get',
dataType: 'text',
success: function (data) {
console.log(3);
}
});
search();
});
function search() {
console.log(4);
}
輸出結果:
1
2
4
3
執行示意圖:
文章列表
全站熱搜