Bird
Raised Fist0
Javascriptprogramming~5 mins

JavaScript execution flow

Choose your learning style10 modes available
Introduction

JavaScript execution flow shows how the computer reads and runs your code step by step. It helps you understand what happens first, next, and last.

When you want to know why some code runs before other code.
When you want to fix bugs by understanding the order of actions.
When you write functions and want to see when they run.
When you use conditions or loops and want to follow the steps.
When you want to learn how asynchronous code like timers or events work.
Syntax
Javascript
JavaScript runs code from top to bottom, line by line.
Functions run only when called.
Asynchronous code runs later, after current code finishes.

JavaScript reads and runs your code in order, unless told otherwise by functions or special commands.

Understanding this flow helps you predict what your program will do.

Examples
This prints messages in the order they appear.
Javascript
console.log('First');
console.log('Second');
console.log('Third');
The function runs only when called, so 'Hello!' prints between 'Start' and 'End'.
Javascript
function greet() {
  console.log('Hello!');
}
console.log('Start');
greet();
console.log('End');
The timeout code runs later, so 'After timeout' prints before 'Inside timeout'.
Javascript
console.log('Before timeout');
setTimeout(() => {
  console.log('Inside timeout');
}, 1000);
console.log('After timeout');
Sample Program

This program shows how JavaScript runs code top to bottom, but functions run only when called.

Javascript
console.log('Step 1: Start');

function stepTwo() {
  console.log('Step 2: Inside function');
}

stepTwo();

console.log('Step 3: End');
OutputSuccess
Important Notes

Remember, functions do not run when defined, only when called.

Asynchronous code like setTimeout runs after the main code finishes.

Understanding execution flow helps you avoid surprises in your program.

Summary

JavaScript runs code line by line from top to bottom.

Functions run only when you call them.

Asynchronous code runs later, after current code finishes.

Practice

(1/5)
1. What happens when JavaScript encounters a function declaration in the code?
easy
A. The function runs immediately.
B. The function is stored but not run until called.
C. The function is ignored.
D. The function causes an error.

Solution

  1. Step 1: Understand function declaration behavior

    When JavaScript sees a function declared, it saves it in memory but does not execute it immediately.
  2. Step 2: Recognize when functions run

    Functions only run when they are explicitly called later in the code.
  3. Final Answer:

    The function is stored but not run until called. -> Option B
  4. Quick Check:

    Functions run only when called = A [OK]
Hint: Functions run only when called, not on declaration [OK]
Common Mistakes:
  • Thinking functions run immediately on declaration
  • Confusing declaration with invocation
  • Assuming functions are ignored until called
2. Which of the following is the correct way to call a function named greet in JavaScript?
easy
A. greet();
B. greet;
C. call greet();
D. function greet();

Solution

  1. Step 1: Identify function call syntax

    In JavaScript, calling a function requires the function name followed by parentheses.
  2. Step 2: Check each option

    greet(); uses greet(); which correctly calls the function. Others are incorrect syntax.
  3. Final Answer:

    greet(); -> Option A
  4. Quick Check:

    Function call needs parentheses = A [OK]
Hint: Call functions with parentheses: name() [OK]
Common Mistakes:
  • Forgetting parentheses when calling functions
  • Using 'call' keyword incorrectly
  • Confusing declaration syntax with call
3. What will be the output of the following code?
console.log('Start');
setTimeout(() => console.log('Timeout'), 0);
console.log('End');
medium
A. Start
End
Timeout
B. End
Start
Timeout
C. Timeout
Start
End
D. Start
Timeout
End

Solution

  1. Step 1: Understand synchronous and asynchronous code

    console.log('Start') runs first and prints 'Start'. setTimeout schedules a function to run later, after current code finishes.
  2. Step 2: Trace the execution order

    console.log('End') runs immediately after 'Start'. Then the setTimeout callback runs, printing 'Timeout'.
  3. Final Answer:

    Start
    End
    Timeout
    -> Option A
  4. Quick Check:

    Async runs after sync code = D [OK]
Hint: setTimeout runs after current code finishes [OK]
Common Mistakes:
  • Assuming setTimeout runs immediately
  • Mixing order of console logs
  • Ignoring asynchronous behavior
4. Find the error in this code snippet:
function sayHi() {
  console.log('Hi');
}
sayHi
medium
A. console.log syntax error
B. Function name is incorrect
C. Missing parentheses to call the function
D. No error, code runs fine

Solution

  1. Step 1: Check function call syntax

    The code writes sayHi without parentheses, so the function is not called.
  2. Step 2: Identify the fix

    Adding parentheses sayHi() calls the function and prints 'Hi'.
  3. Final Answer:

    Missing parentheses to call the function -> Option C
  4. Quick Check:

    Function call needs () = C [OK]
Hint: Always use () to call functions [OK]
Common Mistakes:
  • Forgetting parentheses to invoke functions
  • Thinking function name alone calls it
  • Assuming no error when function not called
5. Consider this code:
console.log('1');
setTimeout(() => console.log('2'), 100);
Promise.resolve().then(() => console.log('3'));
console.log('4');

What is the correct order of output?
hard
A. 1
3
4
2
B. 4
1
3
2
C. 1
2
3
4
D. 1
4
3
2

Solution

  1. Step 1: Understand synchronous, microtask, and macrotask queues

    console.log('1') and console.log('4') run immediately (sync). Promise.then callbacks run next (microtask). setTimeout callbacks run last (macrotask).
  2. Step 2: Trace output order

    Output order is '1' (sync), '4' (sync), '3' (Promise microtask), then '2' (setTimeout macrotask).
  3. Final Answer:

    1
    4
    3
    2
    -> Option D
  4. Quick Check:

    Promise microtasks before setTimeout macrotasks = B [OK]
Hint: Promise.then runs before setTimeout even with 0 delay [OK]
Common Mistakes:
  • Thinking setTimeout runs before Promise.then
  • Ignoring microtask queue priority
  • Assuming all async run in order scheduled
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