同步和異步的區別在于程序執行操作時是否需要等待操作完成。
同步操作意味著程序在執行一個操作時會一直等待操作完成才繼續執行下一個操作,
而異步操作則是指程序執行一個操作時,不會等待操作完成,而是立即返回,繼續執行后面的操作。
以下是同步和異步的代碼示例:同步代碼示例:console.log("start");function syncOperation() { console.log("sync operation start"); // 執行同步操作 console.log("sync operation end");}syncOperation();console.log("end");
輸出結果:
startsync operation startsync operation endend
上述代碼中,syncOperation() 是一個同步操作函數,程序在執行該函數時會一直等待操作完成后才會繼續執行下面的代碼。因此,上面的代碼輸出結果是按照順序依次輸出的。
異步代碼示例:console.log("start");function asyncOperation(callback) { console.log("async operation start"); // 模擬異步操作,1秒后執行回調函數 setTimeout(function() { console.log("async operation end"); callback(); }, 1000);}asyncOperation(function() { console.log("callback function");});console.log("end");
輸出結果:
startasync operation startendasync operation endcallback function
上述代碼中,asyncOperation() 是一個異步操作函數,程序在執行該函數時不會等待操作完成,而是立即返回并執行下面的代碼。1秒后,操作完成后會執行回調函數 callback()。因此,上面的代碼輸出結果不是按照順序依次輸出的,而是先輸出了 "start" 和 "async operation start",然后才輸出 "end" 和 "async operation end",最后輸出 "callback function"。