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 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');

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!'); };

What will be the output of the following code? var add = new Function('a', 'b', 'return a + b'); console.log(add(2, 3));

A). 5

B). add

C). undefined

D). 2 3

Which of the following is an example of an arrow function assigned to a variable?

A). var add = (a, b) => { return a + b; };

B). var add = (a, b) => return a + b;

C). var add = (a, b) => { a + b };

D). var add = (a, b) { return a + b; };

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

What is the output of the following code? var person = { name: 'Alice', greet: function() { return 'Hello, ' + this.name; } }; console.log(person.greet());

A). Hello, Alice

B). Hello, undefined

C). Hello, name

D). undefined

How can you define a method inside an object?

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

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

C). Both A and B

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

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

A). doSomething();

B). call doSomething;

C). doSomething[];

D). invoke(doSomething);

Which of the following is true about functions in JavaScript?

A). Functions can be assigned to variables

B). Functions can be passed as arguments to other functions

C). Functions can be returned from other functions

D). All of the above

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'); };