1
var start = new Date;
setTimeout(function(){
    var end = new Date;
    console.log('Time elapsed:', end - start, 'ms');   //Line4
}, 500);
while (new Date - start < 1000) {};  //Line 6

I know that the output is "Time elapsed: 1002ms" and so on. Line 4 is executed after Line 6, so 'Time elapsed' should be larger than 1000.

My confusion is that why 'Time elapsed' is 1500(1000+ 500). There is 500ms delay in Line 4.

enter image description here

lbs0912
  • 331
  • 1
  • 3
  • 13

0 Answers0