Q
What will be the output of the following code? var counter = (function() { var count = 0; return function() { return ++count; }; })(); console.log(counter()); console.log(counter());

Answer & Solution

Answer: Option A
Solution:
The IIFE returns a function that increments count and returns it. The first call to counter() returns 1, and the second returns 2.
Related Questions on Average

How do you create an Immediately Invoked Function Expression (IIFE)?

A). (function() { alert('IIFE'); })();

B). function() { alert('IIFE'); }();

C). (function { alert('IIFE'); })();

D). function() { alert('IIFE'); };

How can you invoke a function stored in a variable doSomething?

A). doSomething();

B). call doSomething;

C). doSomething[];

D). invoke(doSomething);

How can you store a function as a property of an object?

A). var obj = { method: function() { alert('Hello'); } };

B). var obj = { method: alert('Hello'); };

C). var obj = { method: function { alert('Hello'); } };

D). var obj = { function() { alert('Hello'); } };

What will be the output of the following code? var sayHi = function() { return 'Hi'; }; console.log(sayHi());

A). Hi

B). undefined

C). sayHi

D). function

How do you define an anonymous function assigned to a variable?

A). var anon = function() { alert('Anonymous!'); };

B). var anon = function { alert('Anonymous!'); };

C). function anon() { alert('Anonymous!'); }

D). var anon = function anonymous() { alert('Anonymous!'); };

Which of the following is an example of using a function as a return value?

A). function outer() { return function() { alert('Inner'); }; }

B). function outer() { function() { alert('Inner'); }; return; }

C). function outer() { function() { alert('Inner'); }; }

D). function outer() { return function { alert('Inner'); }; }

What will be the output of the following code? var double = function(x) { return x * 2; }; console.log(double(5));

A). 10

B). 5

C). undefined

D). double

What is the term for a function that is passed as an argument to another function?

A). Callback function

B). Nested function

C). Helper function

D). Inner function

Which of the following correctly demonstrates a function returning another function?

A). function outer() { return function() { alert('Inner'); }; }

B). function outer() { function() { alert('Inner'); } return; }

C). function outer() { function() { alert('Inner'); }; }

D). function outer() { return function { alert('Inner'); }; }

How do you assign a function to a variable in JavaScript?

A). var greet = function() { alert('Hello'); };

B). var greet = function { alert('Hello'); };

C). function greet() { alert('Hello'); }

D). var greet = function alert('Hello');