Function parameters in Javascript - Time & Space Complexity
We want to see how the time a function takes changes when we give it different inputs.
How does the number of parameters affect the work the function does?
Analyze the time complexity of the following code snippet.
function sum(a, b, c) {
return a + b + c;
}
const result = sum(1, 2, 3);
console.log(result);
This function adds three numbers given as parameters and returns the total.
Identify the loops, recursion, array traversals that repeat.
- Primary operation: Adding three numbers once.
- How many times: Exactly one time per function call.
The function always adds three numbers, no matter what values are passed.
| Input Size (number of parameters) | Approx. Operations |
|---|---|
| 3 | 2 additions |
| 5 | Still 2 additions (function fixed) |
| 10 | Still 2 additions (function fixed) |
Pattern observation: The work does not grow with more parameters because the function only adds three fixed inputs.
Time Complexity: O(1)
This means the function takes the same amount of time no matter what numbers you give it.
[X] Wrong: "More parameters always mean more time needed."
[OK] Correct: If the function does a fixed amount of work, adding more parameters that are not processed in loops or repeated steps does not increase time.
Understanding how function parameters affect time helps you explain your code clearly and shows you know what really costs time in programs.
"What if the function added all numbers in an array parameter instead of just three fixed ones? How would the time complexity change?"
Practice
What is the purpose of function parameters in JavaScript?
Choose the best explanation.
Solution
Step 1: Understand what parameters do
Parameters let you pass values into a function so it can use them inside.Step 2: Evaluate the options
Only "They allow you to send information into functions to use inside." correctly explains this purpose. Others describe unrelated or incorrect effects.Final Answer:
They allow you to send information into functions to use inside. -> Option DQuick Check:
Function parameters = input values [OK]
- Thinking parameters create functions
- Believing parameters stop functions
- Assuming parameters speed up functions
Which of the following is the correct way to define a function with two parameters a and b in JavaScript?
function add(???) { return a + b; }Solution
Step 1: Recall function parameter syntax
Parameters are listed separated by commas inside the function parentheses.Step 2: Identify the correct parameter list
(a, b) correctly lists parameters as 'a, b' inside parentheses. 'a, b' without parentheses is invalid syntax. Extra parentheses inside parentheses are not used.Final Answer:
(a, b) -> Option AQuick Check:
Parameters separated by commas inside () [OK]
- Using spaces instead of commas
- Adding extra parentheses around parameters
- Using brackets instead of commas
What will be the output of this code?
function greet(name) {
return `Hello, ${name}!`;
}
console.log(greet('Alice'));Solution
Step 1: Understand function call with argument
The function greet is called with 'Alice' as the argument for parameter name.Step 2: Evaluate template literal output
The template string inserts the value of name, so it becomes 'Hello, Alice!'.Final Answer:
"Hello, Alice!" -> Option AQuick Check:
Parameter value replaces placeholder [OK]
- Thinking parameter name is printed literally
- Expecting undefined if parameter not used
- Confusing string quotes in output
Find the error in this function definition:
function multiply(x, y) {
return x * y;
}
multiply(5);What will happen when multiply(5) is called?
Solution
Step 1: Check function call with missing argument
The function multiply expects two parameters but is called with only one argument (5).Step 2: Understand behavior of missing parameter
The second parameter y is undefined, so x * y becomes 5 * undefined, which results in NaN (Not a Number).Final Answer:
Returns NaN -> Option CQuick Check:
Missing argument causes NaN in math operations [OK]
- Expecting default value 0 for missing parameters
- Thinking it throws an error
- Assuming multiply returns the single argument
Consider this function that uses default parameters:
function calculateTotal(price, tax = 0.1, discount = 0) {
return price + price * tax - discount;
}
console.log(calculateTotal(100, undefined, 5));What is the output of the console.log statement?
Solution
Step 1: Understand default parameters and call
The function has tax default 0.1 and discount default 0. The call passes price=100, tax=undefined, discount=5.Step 2: Evaluate how undefined affects default
Passing undefined for tax triggers the default value 0.1 to be used.Step 3: Calculate the total
Total = 100 + 100 * 0.1 - 5 = 100 + 10 - 5 = 105.Final Answer:
105 -> Option BQuick Check:
Undefined triggers default parameter value [OK]
- Thinking undefined overrides default with undefined
- Ignoring discount in calculation
- Confusing tax and discount values
Ready to prove it?
Pass the test and this pattern moves unknown
