JS Test: Hoisting Order

Last modified by Sergiu Dumitriu on 2018/10/10 17:05

Task: What do the following code snippets return? Why?

function a(x) {
 return x * 2;
}
var a = 5;
a;
var a = 5;
function a(x) {
 return x * 2;
}
a;
function a(x) {
 return x * 2;
}
var a;
a;
(function() {
 var a = 5;
 function a(x) {
   return x * 2;
  }
 return a;
})();
(function() {
 function a(x) {
   return x * 2;
  }
 var a;
 return a;
})();