As soon as execution context goes inside IIFE, it says alert is not a function. Is there any specific thing that i need to know about IIFE. or Am i doing something wrong ?

```js
var test = 0;

function makeTest() {
  var test = 10;
  alert(test);
  alert(window.test)
    (function() {
      var test = 20;
      alert(test);
      alert(window.test);
    })();
}
alert(test);
makeTest();
alert(test);
```