10. Functions – JavaScript Programs

1. Function Declaration (Named Function)

Program 1: Simple Function

				
					<script>
function greet() {
  document.write("Hello World");
}
greet();
</script>

				
			

Program 2: Function with Parameters

				
					<script>
function add(a, b) {
  return a + b;
}
document.write(add(10, 20));
</script>

				
			

Program 3: Function with Conditional Logic

				
					<script>
function isEven(n) {
  return n % 2 === 0;
}
document.write(isEven(6));
</script>

				
			

2. Function Expression

Program 1: Anonymous Function

				
					<script>
let greet = function () {
  document.write("Hello from Function Expression");
};
greet();
</script>

				
			

Program 2: Function Expression with Parameters

				
					<script>
let multiply = function (a, b) {
  return a * b;
};
document.write(multiply(4, 5));
</script>

				
			

Program 3: Conditional Function Expression

				
					<script>
let checkAge = function (age) {
  return age >= 18 ? "Adult" : "Minor";
};
document.write(checkAge(20));
</script>

				
			

3. Arrow Function

Program 1: Simple Arrow Function

				
					<script>
let greet = () => document.write("Hello Arrow Function");
greet();
</script>

				
			

Program 2: Arrow Function with Parameters

				
					<script>
let square = n => n * n;
document.write(square(5));
</script>

				
			

Program 3: Arrow Function with Multiple Parameters

				
					<script>
let sum = (a, b) => a + b;
document.write(sum(10, 15));
</script>

				
			

4. Function with Default Parameters

Program 1: Default Value

				
					<script>
function greet(name = "Guest") {
  document.write("Hello " + name);
}
greet();
</script>

				
			

Program 2: Calculator with Default Values

				
					<script>
function add(a = 0, b = 0) {
  return a + b;
}
document.write(add(5));
</script>

				
			

Program 3: Default Parameter with Condition

				
					<script>
function discount(price, rate = 10) {
  return price - (price * rate / 100);
}
document.write(discount(100));
</script>

				
			

5. Rest Parameter Function

Program 1: Sum of Multiple Numbers

				
					<script>
function sum(...nums) {
  let total = 0;
  for (let n of nums) total += n;
  return total;
}
document.write(sum(1, 2, 3, 4));
</script>

				
			

Program 2: Count Arguments

				
					<script>
function countArgs(...args) {
  return args.length;
}
document.write(countArgs(10, 20, 30));
</script>

				
			

Program 3: Find Maximum

				
					<script>
function max(...nums) {
  return Math.max(...nums);
}
document.write(max(5, 12, 8));
</script>

				
			

6. Callback Function

Program 1: Basic Callback

				
					<script>
function greet(name, callback) {
  callback(name);
}
greet("Boby", function(n) {
  document.write("Hello " + n);
});
</script>

				
			

Program 2: Callback with Calculation

				
					<script>
function calculate(a, b, operation) {
  return operation(a, b);
}
document.write(calculate(5, 3, (x, y) => x + y));
</script>

				
			

Program 3: Callback with Array

				
					<script>
let numbers = [1, 2, 3];
numbers.forEach(function(n) {
  document.write(n + " ");
});
</script>

				
			

7. Recursive Function

Program 1: Factorial

				
					<script>
function factorial(n) {
  if (n === 1) return 1;
  return n * factorial(n - 1);
}
document.write(factorial(5));
</script>

				
			

Program 2: Fibonacci

				
					<script>
function fib(n) {
  if (n <= 1) return n;
  return fib(n - 1) + fib(n - 2);
}
document.write(fib(6));
</script>

				
			

Program 3: Sum of Numbers

				
					<script>
function sum(n) {
  if (n === 0) return 0;
  return n + sum(n - 1);
}
document.write(sum(5));
</script>

				
			

8. IIFE (Immediately Invoked Function Expression)

Program 1: Basic IIFE

				
					<script>
(function() {
  document.write("IIFE Executed");
})();
</script>

				
			

Program 2: IIFE with Parameters

				
					<script>
(function(name) {
  document.write("Hello " + name);
})("JavaScript");
</script>

				
			

Program 3: IIFE with Calculation

				
					<script>
let result = (function(a, b) {
  return a + b;
})(10, 20);

document.write(result);
</script>

				
			

10. Other programs for practice.

Program 1. Print a Number

				
					<script>
function printNum(n) { return n; }
const printNumArrow = n => n;

document.write(printNum(10) + "<br>");
document.write(printNumArrow(10));
</script>

				
			

Program 2. Add Two Numbers

				
					<script>
function add(a, b) { return a + b; }
const addArrow = (a, b) => a + b;

document.write(add(5, 7) + "<br>");
document.write(addArrow(5, 7));
</script>

				
			

Program 3. Subtract Two Numbers

				
					<script>
function subtract(a, b) { return a - b; }
const subtractArrow = (a, b) => a - b;

document.write(subtract(10, 4));
</script>

				
			

Program 4. Multiply Two Numbers

				
					<script>
function multiply(a, b) { return a * b; }
const multiplyArrow = (a, b) => a * b;

document.write(multiply(3, 4));
</script>

				
			

Program 5. Divide Two Numbers

				
					<script>
function divide(a, b) { return a / b; }
const divideArrow = (a, b) => a / b;

document.write(divide(20, 5));
</script>

				
			

Program 6. Check Even or Odd

				
					<script>
function evenOdd(n) {
  return n % 2 === 0 ? "Even" : "Odd";
}
const evenOddArrow = n => n % 2 === 0 ? "Even" : "Odd";

document.write(evenOdd(7));
</script>

				
			

Program 7. Check Positive / Negative / Zero

				
					<script>
function checkNum(n) {
  if (n > 0) return "Positive";
  else if (n < 0) return "Negative";
  else return "Zero";
}

const checkNumArrow = n =>
  n > 0 ? "Positive" : n < 0 ? "Negative" : "Zero";

document.write(checkNum(-5));
</script>

				
			

Program 8. Largest of Two Numbers

				
					<script>
function maxTwo(a, b) {
  return a > b ? a : b;
}
const maxTwoArrow = (a, b) => a > b ? a : b;

document.write(maxTwo(10, 20));
</script>

				
			

Program 9. Largest of Three Numbers

				
					<script>
function maxThree(a, b, c) {
  if (a >= b && a >= c) return a;
  else if (b >= c) return b;
  else return c;
}

const maxThreeArrow = (a, b, c) =>
  a >= b && a >= c ? a : b >= c ? b : c;

document.write(maxThree(10, 30, 20));
</script>

				
			

Program 10. Voting Eligibility

				
					<script>
function canVote(age) {
  return age >= 18 ? "Eligible" : "Not Eligible";
}
const canVoteArrow = age => age >= 18 ? "Eligible" : "Not Eligible";

document.write(canVote(17));
</script>

				
			

Program 11. Print 1 to N

				
					<script>
function print1toN(n) {
  let i;
  for (i = 1; i <= n; i++) document.write(i + " ");
}

const print1toNArrow = n => {
  for (let i = 1; i <= n; i++) document.write(i + " ");
};

print1toN(5);
</script>

				
			

Program 12. Print N to 1

				
					<script>
function printNto1(n) {
  while (n >= 1) {
    document.write(n + " ");
    n--;
  }
}

const printNto1Arrow = n => {
  while (n >= 1) document.write(n-- + " ");
};

printNto1(5);
</script>

				
			

Program 13. Sum of First N Natural Numbers

				
					<script>
function sumN(n) {
  let sum = 0;
  for (let i = 1; i <= n; i++) sum += i;
  return sum;
}

const sumNArrow = n => {
  let s = 0;
  for (let i = 1; i <= n; i++) s += i;
  return s;
};

document.write(sumN(5));
</script>

				
			

Program 14. Multiplication Table

				
					<script>
function table(n) {
  for (let i = 1; i <= 10; i++)
    document.write(n + " x " + i + " = " + (n*i) + "<br>");
}

const tableArrow = n => table(n);

table(4);
</script>

				
			

Program 15. Factorial of a Number

				
					<script>
function factorial(n) {
  let f = 1;
  for (let i = 1; i <= n; i++) f *= i;
  return f;
}

const factorialArrow = n => {
  let f = 1;
  for (let i = 1; i <= n; i++) f *= i;
  return f;
};

document.write(factorial(5));
</script>

				
			

Program 16. Fibonacci Series (N terms)

				
					<script>
function fibonacci(n) {
  let a = 0, b = 1;
  for (let i = 1; i <= n; i++) {
    document.write(a + " ");
    let c = a + b;
    a = b; b = c;
  }
}

const fibonacciArrow = n => fibonacci(n);

fibonacci(6);
</script>

				
			

Program 17. Reverse a Number

				
					<script>
function reverseNum(n) {
  let rev = 0;
  while (n > 0) {
    rev = rev * 10 + (n % 10);
    n = Math.floor(n / 10);
  }
  return rev;
}

const reverseNumArrow = n => reverseNum(n);

document.write(reverseNum(123));
</script>

				
			

Program 18. Palindrome Number

				
					<script>
function isPalindrome(n) {
  return n === reverseNum(n) ? "Palindrome" : "Not Palindrome";
}

const isPalindromeArrow = n =>
  n === reverseNum(n) ? "Palindrome" : "Not Palindrome";

document.write(isPalindrome(121));
</script>

				
			

Program 19. Count Digits

				
					<script>
function countDigits(n) {
  let count = 0;
  do {
    count++;
    n = Math.floor(n / 10);
  } while (n > 0);
  return count;
}

const countDigitsArrow = n => countDigits(n);

document.write(countDigits(12345));
</script>

				
			

Program 20. Prime Number Check

				
					<script>
function isPrime(n) {
  if (n <= 1) return "Not Prime";
  for (let i = 2; i <= Math.sqrt(n); i++)
    if (n % i === 0) return "Not Prime";
  return "Prime";
}

const isPrimeArrow = n => isPrime(n);

document.write(isPrime(7));
</script>

				
			

Program 21. Leap Year

				
					<script>
function leapYear(y) {
  return (y % 4 === 0 && y % 100 !== 0) || y % 400 === 0
    ? "Leap Year" : "Not Leap Year";
}

const leapYearArrow = y => leapYear(y);

document.write(leapYear(2024));
</script>

				
			

Program 22. Calculator using switch

				
					<script>
function calc(a, b, op) {
  switch (op) {
    case '+': return a + b;
    case '-': return a - b;
    case '*': return a * b;
    case '/': return a / b;
    default: return "Invalid";
  }
}

const calcArrow = (a, b, op) => calc(a, b, op);

document.write(calc(10, 5, '*'));
</script>

				
			

Program 23. Square of Number

				
					<script>
function square(n) { return n * n; }
const squareArrow = n => n * n;

document.write(square(6));
</script>

				
			

Program 24. Cube of Number

				
					<script>
function cube(n) { return n * n * n; }
const cubeArrow = n => n * n * n;

document.write(cube(4));
</script>

				
			

Program 25. Celsius to Fahrenheit

				
					<script>
function cToF(c) { return (c * 9/5) + 32; }
const cToFArrow = c => (c * 9/5) + 32;

document.write(cToF(25));
</script>

				
			

Program 26. Fahrenheit to Celsius

				
					<script>
function fToC(f) { return (f - 32) * 5/9; }
const fToCArrow = f => (f - 32) * 5/9;

document.write(fToC(77));
</script>

				
			

Program 27. Area of Circle

				
					<script>
function areaCircle(r) { return 3.14 * r * r; }
const areaCircleArrow = r => 3.14 * r * r;

document.write(areaCircle(5));
</script>

				
			

Program 28. Area of Rectangle

				
					<script>
function areaRect(l, w) { return l * w; }
const areaRectArrow = (l, w) => l * w;

document.write(areaRect(10, 4));
</script>

				
			

Program 29. Area of Triangle

				
					<script>
function areaTri(b, h) { return 0.5 * b * h; }
const areaTriArrow = (b, h) => 0.5 * b * h;

document.write(areaTri(8, 5));
</script>

				
			

Program 30. Simple Loop Counter

				
					<script>
function countDown(n) {
  while (n > 0) {
    document.write(n + " ");
    n--;
  }
}

const countDownArrow = n => countDown(n);

countDown(5);
</script>