###### tags: `JavaScript - 執行環境、作用域` # 執行緒與同步、非同步 ### 單執行續 ( 針對於系統的執行 ) : * 一次執行一件事,執行完才執行下一件事 * JavaScript屬於此種 ### 多執行續 ( 針對於系統的執行 ) : * 可同時執行多件事 ### 同步 ( 針對於程式語言 ) : * 執行函式順序為 1. eatBreakfast(); 2. callSomeone(); 3. washingDish(); ```javascript= function eatBreakfast(){ console.log('吃早餐'); } function callSomeone(){ console.log('打給某人'); } function washingDish(){ console.log('洗盤子'); } eatBreakfast();//1 callSomeone(); //2 washingDish(); //3 ``` ### 非同步 ( 針對於程式語言 ) : * 執行順序為 1. eatBreakfast(); 2. washingDish(); 3. callSomeone(); 4. setTimeout(); ```javascript= function eatBreakfast(){ console.log('吃早餐'); } function callSomeone(){ setTimeout(function(){ console.log('打給某人'); },3000); } function washingDish(){ console.log('洗盤子'); } eatBreakfast();// 1 callSomeone(); // 2 washingDish(); // 3 ``` * 其實JavaScript在執行時還是以同步執行,只是會把非同步的部分往後移到 Event queue (事件佇列) ,等前面的函式處理玩了才會執行 Event queue 內的 setTimeout  * 事件也是一樣,會先將 click 事件移到 Event queue (事件佇列) 中,當我們點擊的時候才會觸發 
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up