Explain settimeout in javascript? code example

Example 1: javascript settimeout

setTimeout(function(){
 	alert("Sup!"); 
}, 2000);//wait 2 seconds

Example 2: settimeout javascript

setTimeout(function(){
 	console.log("hello");
}, 3000); //wait for atleast  3 seconds before console logging

Example 3: javascript this in settimeout

function func() {
  this.var = 5;
  
  this.changeVar = function() {
    setTimeout(() => { //Don't use function, use arrow function so 'this' refers to 'func' and not window
      this.var = 10;
    }, 1000);
  }
}

var a = new func();
a.changeVar();