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

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 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 can you pass a function as an argument to another function?

A). performAction(function() { alert('Action!'); });

B). performAction(function { alert('Action!'); });

C). performAction(function() alert('Action!'););

D). performAction(function() alert('Action!'))

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

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

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

What will be the output of the following code? var multiply = (x, y) => x * y; console.log(multiply(3, 4));

A). 12

B). 34

C). multiply

D). undefined

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