Bird
Raised Fist0
Javascriptprogramming~5 mins

Function execution context in Javascript - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What is a function execution context in JavaScript?
It is the environment where a function runs. It stores information like variables, parameters, and the value of this while the function executes.
Click to reveal answer
intermediate
What are the three main parts of a function execution context?
1. Variable Environment (stores variables and parameters)
2. Scope Chain (links to outer contexts)
3. this value (context of the function call)
Click to reveal answer
beginner
When is a function execution context created?
It is created every time a function is called, before the function code runs, and destroyed after the function finishes.
Click to reveal answer
intermediate
How does the scope chain affect variable access inside a function?
The scope chain lets the function access variables from its own context and from outer contexts, like the global scope or parent functions.
Click to reveal answer
advanced
What is the value of this inside a function execution context?
It depends on how the function is called. For example, in a regular function call, this is undefined in strict mode or the global object otherwise. In methods, this is the object owning the method.
Click to reveal answer
When is a new function execution context created in JavaScript?
AEvery time a function is called
BOnly once when the function is defined
CWhen the script loads
DWhen the browser refreshes
Which part of the function execution context stores the function's parameters and local variables?
AVariable Environment
BScope Chain
C<code>this</code> value
DCall Stack
What does the scope chain in a function execution context do?
ADefines the value of <code>this</code>
BStores the function's code
CLinks to outer variable environments for variable lookup
DManages asynchronous calls
What is the value of this inside a regular function call in strict mode?
AThe global object
BThe object owning the function
CThe function itself
DUndefined
What happens to a function execution context after the function finishes running?
AIt stays in memory forever
BIt is destroyed and removed from the call stack
CIt becomes global context
DIt pauses until called again
Explain what a function execution context is and what it contains.
Think about what the function needs to remember while it runs.
You got /4 concepts.
    Describe how the scope chain works inside a function execution context.
    Imagine looking for a variable inside nested boxes.
    You got /3 concepts.

      Practice

      (1/5)
      1. What does the function execution context in JavaScript primarily keep track of?
      easy
      A. Variables and parameters inside the function
      B. The browser window size
      C. The user's keyboard input globally
      D. The network requests made by the page

      Solution

      1. Step 1: Understand what execution context means

        The function execution context is created when a function runs and it keeps track of what happens inside that function.
      2. Step 2: Identify what is tracked inside the function

        It specifically keeps track of variables and parameters declared or passed inside the function.
      3. Final Answer:

        Variables and parameters inside the function -> Option A
      4. Quick Check:

        Execution context tracks variables and parameters [OK]
      Hint: Execution context tracks function's own variables and parameters [OK]
      Common Mistakes:
      • Thinking it tracks global browser info
      • Confusing with event listeners
      • Assuming it tracks network requests
      2. Which of the following is the correct way to define a function in JavaScript that creates a new execution context when called?
      easy
      A. var greet = 'Hi';
      B. function greet() { console.log('Hi'); }
      C. console.log('Hi');
      D. if (true) { console.log('Hi'); }

      Solution

      1. Step 1: Identify function declaration syntax

        Only the syntax starting with the keyword function defines a function that creates an execution context when called.
      2. Step 2: Check other options

        Options B, C, and D do not define functions; they are variable assignment or direct statements.
      3. Final Answer:

        function greet() { console.log('Hi'); } -> Option B
      4. Quick Check:

        Function declaration uses function keyword [OK]
      Hint: Look for the 'function' keyword to define a function [OK]
      Common Mistakes:
      • Confusing variable assignment with function definition
      • Thinking console.log alone defines a function
      • Using if statement as a function
      3. What will be the output of the following code?
      function test() {
        let x = 5;
        return x + 3;
      }
      console.log(test());
      medium
      A. undefined
      B. 5
      C. 8
      D. Error

      Solution

      1. Step 1: Analyze the function body

        The function test declares a variable x with value 5 inside its execution context.
      2. Step 2: Calculate the return value

        The function returns x + 3, which is 5 + 3 = 8.
      3. Final Answer:

        8 -> Option C
      4. Quick Check:

        Return value is 5 + 3 = 8 [OK]
      Hint: Add local variable and return value inside function [OK]
      Common Mistakes:
      • Confusing return value with variable value
      • Expecting undefined because of missing global variable
      • Thinking function does not return anything
      4. Identify the error in the following code related to function execution context:
      function add() {
        console.log(sum);
        let sum = 10 + 5;
      }
      add();
      medium
      A. TypeError because sum is not a function
      B. No error, outputs 15
      C. SyntaxError due to missing return statement
      D. ReferenceError because 'sum' is used before declaration

      Solution

      1. Step 1: Understand variable hoisting with let

        Variables declared with let are not hoisted like var. Accessing them before declaration causes ReferenceError.
      2. Step 2: Check the console.log usage

        The code tries to log sum before it is declared, causing ReferenceError.
      3. Final Answer:

        ReferenceError because 'sum' is used before declaration -> Option D
      4. Quick Check:

        Using let variable before declaration causes ReferenceError [OK]
      Hint: Don't access let variables before declaration inside function [OK]
      Common Mistakes:
      • Assuming let variables are hoisted like var
      • Expecting output 15 without error
      • Confusing ReferenceError with SyntaxError
      5. Consider this code:
      function outer() {
        let a = 10;
        function inner() {
          let b = 20;
          return a + b;
        }
        return inner();
      }
      console.log(outer());

      What does this example demonstrate about function execution contexts?
      hard
      A. Inner function can access variables of outer function's execution context
      B. Inner function cannot access outer function variables
      C. Outer function loses its execution context after returning
      D. Variables declared in inner function are global

      Solution

      1. Step 1: Understand nested function execution contexts

        The inner function creates its own execution context but can access variables from the outer function's context due to closure.
      2. Step 2: Analyze the return value

        The inner function returns a + b where a is from outer context and b is local, showing access to outer variables.
      3. Final Answer:

        Inner function can access variables of outer function's execution context -> Option A
      4. Quick Check:

        Closures allow inner functions to access outer variables [OK]
      Hint: Inner functions access outer variables via closure [OK]
      Common Mistakes:
      • Thinking inner function variables are global
      • Assuming outer context is lost immediately
      • Believing inner cannot access outer variables
      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