Bird
Raised Fist0
Javascriptprogramming~5 mins

Function expression in Javascript

Choose your learning style10 modes available
Introduction

A function expression lets you create a function and save it in a variable. This helps you use the function later or pass it around like any other value.

When you want to store a function in a variable to use later.
When you want to pass a function as an argument to another function.
When you want to create a function without giving it a name (anonymous function).
When you want to write shorter code inside another function or event handler.
When you want to create functions dynamically during program execution.
Syntax
Javascript
const variableName = function(parameters) {
  // code to run
};

The function can be anonymous (no name) or named.

The function expression ends with a semicolon because it is an assignment.

Examples
This creates a function that prints 'Hello!' and stores it in the variable greet.
Javascript
const greet = function() {
  console.log('Hello!');
};
This function takes two numbers and returns their sum.
Javascript
const add = function(a, b) {
  return a + b;
};
This is a named function expression. The name name is local to the function itself.
Javascript
const sayName = function name() {
  console.log('My name is JavaScript');
};
Sample Program

This program creates a function expression that multiplies two numbers and then prints the result.

Javascript
const multiply = function(x, y) {
  return x * y;
};

console.log(multiply(4, 5));
OutputSuccess
Important Notes

Function expressions are not hoisted like function declarations, so you must define them before using.

You can use function expressions to create closures and keep data private.

Summary

Function expressions store functions in variables for flexible use.

They can be anonymous or named.

Use them when you want to pass functions around or create functions dynamically.

Practice

(1/5)
1. What is a function expression in JavaScript?
easy
A. A function that runs automatically when the page loads
B. A way to store a function inside a variable
C. A function declared with the function keyword only
D. A special type of loop

Solution

  1. Step 1: Understand function expressions

    A function expression means assigning a function to a variable so it can be used later.
  2. Step 2: Compare options

    Only A way to store a function inside a variable describes storing a function inside a variable, which matches the definition of a function expression.
  3. Final Answer:

    A way to store a function inside a variable -> Option B
  4. Quick Check:

    Function expression = function stored in variable [OK]
Hint: Function expressions assign functions to variables [OK]
Common Mistakes:
  • Confusing function expressions with function declarations
  • Thinking function expressions run automatically
  • Mixing up functions with loops
2. Which of the following is the correct syntax for a function expression?
easy
A. var myFunc = function() { return 5
B. function myFunc() { return 5; }
C. let myFunc = function myFunc() { return 5
D. const myFunc = function() { return 5; };

Solution

  1. Step 1: Identify function expression syntax

    A function expression assigns an anonymous function to a variable using = function() { ... }.
  2. Step 2: Check options for correct syntax

    const myFunc = function() { return 5; }; uses const with an anonymous function and ends with a semicolon, which is correct syntax.
  3. Final Answer:

    const myFunc = function() { return 5; }; -> Option D
  4. Quick Check:

    Function expression syntax = variable = function() { } [OK]
Hint: Function expressions assign anonymous functions to variables [OK]
Common Mistakes:
  • Using function declaration syntax instead of expression
  • Missing semicolon at the end
  • Using named function inside expression incorrectly
3. What will be the output of this code?
const greet = function(name) { return `Hello, ${name}!`; };
console.log(greet('Alice'));
medium
A. greet Alice!
B. Hello, name!
C. Hello, Alice!
D. Error: greet is not a function

Solution

  1. Step 1: Understand the function expression

    The variable greet holds a function that returns a greeting string with the given name.
  2. Step 2: Evaluate the function call

    Calling greet('Alice') returns Hello, Alice! which is printed by console.log.
  3. Final Answer:

    Hello, Alice! -> Option C
  4. Quick Check:

    Function call with 'Alice' returns greeting [OK]
Hint: Function expressions return values like normal functions [OK]
Common Mistakes:
  • Confusing variable name with parameter
  • Expecting function name in output
  • Thinking function expression causes error
4. Find the error in this function expression:
const add = function(a, b) {
  return a + b
};
console.log(add(2, 3));
medium
A. No error, code runs correctly
B. Function expression must have a name
C. Cannot use const with function expressions
D. Missing semicolon after return statement

Solution

  1. Step 1: Check syntax of function expression

    The function is assigned to add using const, which is valid. The return statement is correct without semicolon (optional in JS).
  2. Step 2: Verify code execution

    Calling add(2, 3) returns 5 and prints it. No syntax or runtime errors occur.
  3. Final Answer:

    No error, code runs correctly -> Option A
  4. Quick Check:

    Valid function expression runs without error [OK]
Hint: Semicolons after return are optional in JavaScript [OK]
Common Mistakes:
  • Thinking function expressions must be named
  • Believing semicolon is mandatory after return
  • Assuming const cannot hold functions
5. You want to create a function expression that doubles a number and then immediately call it with 4. Which code does this correctly?
hard
A. const double = function(n) { return n * 2; }(4); console.log(double);
B. function(n) { return n * 2; }(4);
C. const double = (n) => n * 2; double(4);
D. const double = function(n) { return n * 2; }; double(4);

Solution

  1. Step 1: Understand immediate function call with expression

    To call a function expression immediately, you add parentheses after the function definition.
  2. Step 2: Analyze options

    const double = function(n) { return n * 2; }(4); console.log(double); defines a function expression and immediately calls it with (4), assigning the result to double. Then it logs the result. This matches the requirement.
  3. Final Answer:

    const double = function(n) { return n * 2; }(4); console.log(double); -> Option A
  4. Quick Check:

    Function expression called immediately with (4) [OK]
Hint: Add (args) right after function expression to call immediately [OK]
Common Mistakes:
  • Not calling the function immediately
  • Assigning function instead of result
  • Using arrow function without immediate call
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard