Bird
Raised Fist0
Javascriptprogramming~5 mins

Function declaration in Javascript - Time & Space Complexity

Choose your learning style10 modes available
Time Complexity: Function declaration
O(1)
Understanding Time Complexity

When we write a function declaration, it is important to know how the time it takes to run changes as the input changes.

We want to understand how the work inside the function grows when we give it bigger inputs.

Scenario Under Consideration

Analyze the time complexity of the following code snippet.


function greet(name) {
  return `Hello, ${name}!`;
}

const message = greet('Alice');
console.log(message);
    

This function simply creates a greeting message using the given name.

Identify Repeating Operations

Identify the loops, recursion, array traversals that repeat.

  • Primary operation: No loops or repeated steps inside the function.
  • How many times: The function runs once per call, doing a fixed amount of work.
How Execution Grows With Input

Since the function does a simple string creation, the work does not grow with input size in a meaningful way.

Input Size (n)Approx. Operations
10About the same small number of steps
100Still about the same small number of steps
1000Still about the same small number of steps

Pattern observation: The time to run stays roughly the same no matter the input size.

Final Time Complexity

Time Complexity: O(1)

This means the function takes about the same time to run no matter how big the input is.

Common Mistake

[X] Wrong: "The function takes longer if the input string is longer because it has to process more characters."

[OK] Correct: In this case, the function just inserts the input into a template without looping over it, so the time does not grow with input length.

Interview Connect

Understanding that simple functions without loops or recursion run in constant time helps you explain your code clearly and shows you know how to think about efficiency.

Self-Check

"What if we changed the function to loop over each character in the input string? How would the time complexity change?"

Practice

(1/5)
1. Which of the following is the correct way to declare a function named greet in JavaScript?
easy
A. function greet() { console.log('Hello'); }
B. func greet() { console.log('Hello'); }
C. def greet() { console.log('Hello'); }
D. function: greet() { console.log('Hello'); }

Solution

  1. Step 1: Recognize JavaScript function syntax

    JavaScript functions are declared using the keyword function followed by the function name and parentheses.
  2. Step 2: Check each option's syntax

    function greet() { console.log('Hello'); } uses correct syntax: function greet() { ... }. Options A, B, and D use incorrect keywords or punctuation.
  3. Final Answer:

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

    JavaScript function declaration = function keyword + name + parentheses [OK]
Hint: Look for 'function' keyword followed by name and parentheses [OK]
Common Mistakes:
  • Using 'func' or 'def' instead of 'function'
  • Adding colon after 'function'
  • Missing parentheses after function name
2. Which of the following is a syntax error when declaring a function in JavaScript?
easy
A. function add(a, b) { return a + b; }
B. function multiply(a, b) { return a * b; }
C. function divide(a, b) return a / b;
D. function subtract(a, b) { return a - b; }

Solution

  1. Step 1: Identify function body syntax

    In JavaScript, the function body must be enclosed in curly braces { }.
  2. Step 2: Check each option for braces

    function divide(a, b) return a / b; lacks curly braces around the return statement, causing a syntax error. Others have correct braces.
  3. Final Answer:

    function divide(a, b) return a / b; -> Option C
  4. Quick Check:

    Function body must be inside braces { } [OK]
Hint: Always use curly braces { } around function body [OK]
Common Mistakes:
  • Omitting curly braces for function body
  • Missing parentheses after function name
  • Using incorrect keywords
3. What will be the output of the following code?
function sayHi(name) {
  return 'Hi, ' + name + '!';
}
console.log(sayHi('Anna'));
medium
A. undefined
B. 'Hi, Anna!'
C. sayHi Anna!
D. Hi, Anna!

Solution

  1. Step 1: Understand function return and console.log

    The function returns a string combining 'Hi, ', the name, and '!'. The console.log prints this returned string.
  2. Step 2: Evaluate the function call sayHi('Anna')

    It returns the string 'Hi, Anna!'. console.log prints it without quotes.
  3. Final Answer:

    Hi, Anna! -> Option D
  4. Quick Check:

    Function returns string, console.log prints string without quotes [OK]
Hint: console.log prints string without quotes [OK]
Common Mistakes:
  • Confusing returned string with printed output including quotes
  • Expecting function name to print
  • Ignoring return statement
4. Find the error in this function declaration:
function greet {
  console.log('Hello!');
}
medium
A. Missing curly braces around function body
B. Missing parentheses after function name
C. Missing semicolon after console.log
D. Function name is invalid

Solution

  1. Step 1: Check function declaration syntax

    Functions must have parentheses after the name, even if no parameters are used.
  2. Step 2: Identify missing parentheses

    The code misses parentheses after greet, causing a syntax error.
  3. Final Answer:

    Missing parentheses after function name -> Option B
  4. Quick Check:

    Function name must be followed by () [OK]
Hint: Always put () after function name, even if empty [OK]
Common Mistakes:
  • Omitting parentheses after function name
  • Thinking semicolon is required after console.log
  • Confusing curly braces placement
5. You want to create a function calculateArea that takes width and height and returns the area. Which is the best correct declaration?
hard
A. function calculateArea(width, height) { return width * height; }
B. function calculateArea(width, height) { width * height; }
C. function calculateArea(width, height) { return width + height; }
D. function calculateArea(width, height) { return width / height; }

Solution

  1. Step 1: Understand the area formula

    Area of a rectangle is width multiplied by height.
  2. Step 2: Check each function's return value

    function calculateArea(width, height) { return width * height; } returns width * height, which is correct. function calculateArea(width, height) { width * height; } lacks return statement, so returns undefined. Options C and D return wrong calculations.
  3. Final Answer:

    function calculateArea(width, height) { return width * height; } -> Option A
  4. Quick Check:

    Return width * height for area calculation [OK]
Hint: Return product of width and height for area [OK]
Common Mistakes:
  • Forgetting return keyword
  • Returning sum or division instead of product
  • Not using parameters correctly
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