Function declaration in Javascript - Time & Space 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.
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 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.
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 |
|---|---|
| 10 | About the same small number of steps |
| 100 | Still about the same small number of steps |
| 1000 | Still about the same small number of steps |
Pattern observation: The time to run stays roughly the same no matter the input size.
Time Complexity: O(1)
This means the function takes about the same time to run no matter how big the input is.
[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.
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.
"What if we changed the function to loop over each character in the input string? How would the time complexity change?"
Practice
greet in JavaScript?Solution
Step 1: Recognize JavaScript function syntax
JavaScript functions are declared using the keywordfunctionfollowed by the function name and parentheses.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.Final Answer:
function greet() { console.log('Hello'); } -> Option AQuick Check:
JavaScript function declaration = function keyword + name + parentheses [OK]
- Using 'func' or 'def' instead of 'function'
- Adding colon after 'function'
- Missing parentheses after function name
Solution
Step 1: Identify function body syntax
In JavaScript, the function body must be enclosed in curly braces{ }.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.Final Answer:
function divide(a, b) return a / b; -> Option CQuick Check:
Function body must be inside braces { } [OK]
- Omitting curly braces for function body
- Missing parentheses after function name
- Using incorrect keywords
function sayHi(name) {
return 'Hi, ' + name + '!';
}
console.log(sayHi('Anna'));Solution
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.Step 2: Evaluate the function call sayHi('Anna')
It returns the string 'Hi, Anna!'. console.log prints it without quotes.Final Answer:
Hi, Anna! -> Option DQuick Check:
Function returns string, console.log prints string without quotes [OK]
- Confusing returned string with printed output including quotes
- Expecting function name to print
- Ignoring return statement
function greet {
console.log('Hello!');
}Solution
Step 1: Check function declaration syntax
Functions must have parentheses after the name, even if no parameters are used.Step 2: Identify missing parentheses
The code misses parentheses aftergreet, causing a syntax error.Final Answer:
Missing parentheses after function name -> Option BQuick Check:
Function name must be followed by () [OK]
- Omitting parentheses after function name
- Thinking semicolon is required after console.log
- Confusing curly braces placement
calculateArea that takes width and height and returns the area. Which is the best correct declaration?Solution
Step 1: Understand the area formula
Area of a rectangle is width multiplied by height.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.Final Answer:
function calculateArea(width, height) { return width * height; } -> Option AQuick Check:
Return width * height for area calculation [OK]
- Forgetting return keyword
- Returning sum or division instead of product
- Not using parameters correctly
Ready to prove it?
Pass the test and this pattern moves unknown
