1.1 ให้ตอบคำถามลงใน <textarea> ด้านล่างว่าโค้ดที่รันได้จะได้ผลลัพธ์เป็นอย่างไร จากนั้นทดลองรันโค๊ด เปรียบเทียบผลลัพธ์ และอธิบายการทำงาน
1 function first(){ 2 setTimeout(() => { 3 console.log(1); 4 }, 1000); 5 } 6 7 const second = setTimeout(() => { 8 console.log(2); 9 }, 1500); 10 11 var third = setTimeout(() => { 12 console.log(3); 13 }, 1000); 14 15 setTimeout(() => { 16 console.log(4) 17 }, 0) 18 19 console.log(5) 20 21 setTimeout(() => { 22 console.log(5+1) 23 }, 2000) 24 25 function showLog(data) { 26 console.log(data); 27 } 28 29 function calculator(num1, num2, callback) { 30 var sum = num1 + num2; 31 callback(sum) 32 } 33 34 calculator(7, 1, showLog);
ให้นักศึกษาเปิด Console และกด Run เพื่อดูการแสดงผล
1.2 ให้ตอบคำถามว่าโค้ดที่รันได้จะได้ผลลัพธ์เป็นอย่างไร
จากนั้นทดลองรันโค๊ด เปรียบเทียบผลลัพธ์
และอธิบายการทำงาน
1 setTimeout(() => { 2 console.log("hello") 3 }, 1000) 4 5 let max_loop = 10000000000; 6 7 for(let i = 0; i < max_loop; i++) { 8 let progress = i / max_loop * 100; 9 10 if(i % (max_loop/100) === 0) { 11 console.log(progress.toFixed(0) + '%') 12 } 13 }
ให้นักศึกษาเปิด Console และกด Run เพื่อดูการแสดงผล
1.3 ให้ตอบคำถามว่าโค้ดที่รันได้จะได้ผลลัพธ์เป็นอย่างไร และอธิบายการทำงาน
1 function doHomework(subject, callback) { 2 alert(`Starting my ${subject} homework.`); 3 callback(); 4 } 5 6 function alertFinished(){ 7 alert('Finished my homework'); 8 } 9 10 doHomework("INFORMATION SYSTEMS ANALYSIS AND DESIGN", () => { 11 doHomework("WEB PROGRAMMING", () => { 12 doHomework("SOFTWARE ENGINEERING", () => { 13 doHomework("ENGLISH FOR COMMUNICATION", () => { 14 doHomework("DATABASE SYSTEM CONCEPTS", alertFinished); 15 }); 16 }); 17 }); 18 });
ให้นักศึกษาเปิด Console และกด Run เพื่อดูการแสดงผล