Interview Questions & Answers
javascript
- Module design pattern or the Module revealing pattern.
- Design patterns are time tested architecture solutions.
- So, to create a single instance we can use singleton pattern, if the object creational process is complex, we can use factory pattern and so.
- A normal function has a name while IIFE does not have name.
- So with a normal function you can have a name collision but with IIFE you will not have name, you will not have name collision.
- IIFE solves the name collision problem.
- Name collision happens when you have the same variable names or method names in the same context defined.
- Name collision happens when you name the same variable names or method names in the same context.
-
<script>
function Init(){
var x =0;
}
var Init = 0;
Init();
</script>
- IIFE is an anonymous function means it does not have name and it gets immediately invoked(it is self invoking).
-
<script>
var x=0;
(function(){
var y=0
alert(“I am IIFE and I will execute once when page loads”)
})();
alert(y);
</script>
- Closures are useful to create self contained code, functions that leads to a self contained state and we avoid global variables.