(কোডিং জে এস)Coding JS
  • কোডিং JS
  • সূচিপত্র(Index)
  • ভূমিকা
  • লেখক পরিচিতি(Writer Intro)
  • ইতিহাস
  • জাভাস্ক্রিপ্টের বিস্তার কত দূর?
  • কাদের জন্য জাভাস্ক্রিপ্ট?
  • এনভায়রনমেন্ট সেটআপ
  • ব্রাউজার পরিচিতি
  • ভাল এডিটর বা আইডিই
  • জাভাস্ক্রিপ্টের ইঞ্জিন (JS Engine)
  • প্রথম প্রোগ্রাম = হ্যালো বাংলাদেশ
  • সিনট্যাক্স নিয়ে যত কথা।
  • ভেরি + এবল = ভেরিয়্যাবল কি?
  • ডেটা টাইপ
    • প্রিমিটিভ ডাটা টাইপ(Primitive data type)
      • বুলিয়ান (Boolean)
      • আন্ডিফাইন্ড (Undefined)
      • নাল (Null)
      • নাম্বার (Number)
      • বিগ ইন্টিজার (BigInt)
      • স্ট্রিং (String)
      • সিম্বল (Symbol)
    • নন-প্রিমিটিভ ডাটা টাইপ(Non-primitive data type)
      • অব্জেক্ট (Object)
      • অ্যারে(Array)
  • অপারেটর
  • কন্ডিশনাল কন্ট্রোল ফ্লো(Conditional Control flow)
  • লুপ এবং ইটারেশন(Loop & Iteration)
    • 🔃ফর লুপ(For loop)
    • 🔃ও্যাইয়ল লুপ (While Loop)
    • 📿পুনারাবৃত্তি (Iteration)
  • ফাংশন (Function)
    • রেগুলার ফাংশন (Regular Function)
    • অ্যারো ফাংশন(Arrow Function)
    • নেস্টেড ফাংশন ( Nested Function)
    • ক্লোজার ফাংশন(Closures Function)
    • আই. আই. এফ. ই. (IIFE)
    • হাইয়ার অর্ডার ফাংশন (Higher Order Function)
    • কারিং ফাংশন (Currying function)
    • এন এফ ই (NFE)
    • রিকার্সিভ ফংশন (Recursive Function)
    • জেনারেটর ফাংশন (Generator Function)
  • ক্লাস ও অবজেক্ট অরিয়েন্টেড (class & OOP)
    • মেম্বার ফাংশন (Member Function)
    • ইনহেরিটেন্স (Inhertance)
    • এনসকেপসুলেশন (Encapsulations)
    • অবস্ট্রাকশন(Abstraction)
    • পলিমরফিজম (Polymorphism)
  • কলব্যাক ফাংশন (callback function)
  • প্রমিস (Promise)
  • Async এবং await (Async & Await)
  • এজ্যাক্স (Ajax)
  • ফেচ (fetch)
  • ওয়েভ এপি আই(Web API)
    • ওয়েব স্টোরেজ (Web Storage)
      • বিস্কিটের টুকরো (Cookies)
      • সেশন (Session)
    • হিস্ট্রি এপি আই (History API)
    • জিওলোকেশন এপি আই (Geolocation API)
    • ওয়ার্কার এপি আই (Workers API)
    • ফর্ম এপি আই (Form API)
  • জে এস ডোম(JS DOM)
  • জে এস স্টাইল (JS Style)
  • এপিআই কী? (What is API)
    • SOAP API
    • রেস্ট এপি আই(REST API)
  • ফ্রেমওয়ার্ক লাইব্রেরী নিয়ে খোশ গল্প
  • জাভাস্ক্রিপ্টের বিল্ডইন কী ওয়ার্ড(Javascript Build in keyword)
  • কৃতজ্ঞতা স্বীকার
Powered by GitBook
On this page
Edit on GitHub
  1. ফাংশন (Function)

নেস্টেড ফাংশন ( Nested Function)

ক্রিয়াকলাপের ভিতরে ক্রিয়াকলাপ বা নেস্টেড ফাংশন কে অনেক সময় সাব রুন্টিন ও বলা হয়। যখন একটা ফাংশন এর ভিতরে আরেকটা ফাংশন কে লিখা হয় তখন আমারা সেইটা কে নেস্টেট ফাংশন বলব। মূলত এই ধরনের ফাংশন গুলো আপনার অভ্যন্তরীন ফাংশনালিটি নিয়ে কাজ করে। যখন আপনার মনে হবে কোন কাজকে ঐ ফাংশনের ভিতরে অনেকগুলো ক্ষুদ্র ক্ষুদ্র ভাগে বিভক্ত করে করা উচিত তখন আসলে নেস্টেড ফাংশন লিখা হয়। বিষয় টা কে আপনি আপানার ম্যাথ এর সাথে মিলাতে পারেন (x,n,a)=f(x,n,4)=xn−1xn−1xn−1xn−1nnnn(x,n,a)=f(x,n,4)=\sqrt[n]{x^{n-1}\sqrt[n]{x^{n-1}\sqrt[n]{x^{n-1}\sqrt[n]{x^{n-1}}}}}(x,n,a)=f(x,n,4)=nxn−1nxn−1nxn−1nxn−1​​​​ এই ধরনের কনসেপ্ট গুলো চিন্তা করলেই বুঝতে পারবেন আসলে নেস্টেট ফাংশন কিভাবে আসলে কেন লিখা হয়

(x,n,a)=f(x,n,4)=xn−1xn−1xn−1xn−1nnnn(x,n,a)=f(x,n,4)=\sqrt[n]{x^{n-1}\sqrt[n]{x^{n-1}\sqrt[n]{x^{n-1}\sqrt[n]{x^{n-1}}}}}(x,n,a)=f(x,n,4)=nxn−1nxn−1nxn−1nxn−1​​​​ এর নেস্টেট ফাংশন ব্যাবহার করে সামধান

function solveEquation(x, n, a) {
  function nestedExpression(currentX, currentN) {
    if (currentN === 1) {
      return Math.pow(currentX, n - 1); // Base case: n = 1
    } else {
      return Math.pow(currentX, n - 1) * nestedExpression(currentX, currentN - 1);
    }
  }

  function recursiveRoot(currentX, currentN) {
    if (currentN === 1) {
      return Math.pow(currentX, 1 / n); // Base case: n = 1
    } else {
      return Math.pow(nestedExpression(currentX, currentN), 1 / n) * recursiveRoot(currentX, currentN - 1);
    }
  }

  return recursiveRoot(x, a);
}

const x = 2; // Replace with the value of x you want to use
const n = 3; // Replace with the value of n you want to use
const a = 4; // Replace with the value of a you want to use

const result = solveEquation(x, n, a);
console.log(`Result: ${result}`);

আরো কিছু যদি উদাহরন দেখিঃ

  • 1+21+31+4\sqrt{1+2\sqrt{1+3\sqrt{}1+4}}1+21+3​1+4​​

function solveEquation() {
  function nestedExpression(n) {
    if (n === 1) {
      return Math.sqrt(1 + 4); // Base case: n = 1
    } else {
      return Math.sqrt(n + (n - 1) * nestedExpression(n - 1));
    }
  }

  return nestedExpression(4);
}

const result = solveEquation();
console.log(`Result: ${result}`);
  • x=xn−1xn−1xn−1nnnx = \sqrt[n]{x^{n-1}\sqrt[n]{x^{n-1}\sqrt[n]{x^{n-1}}}}x=nxn−1nxn−1nxn−1​​​

function solveEquation(x, n, iterations) {
  function nestedExpression(currentX, remainingIterations) {
    if (remainingIterations === 0) {
      return currentX;
    } else {
      const innerExpression = Math.pow(currentX, n - 1);
      return nestedExpression(Math.pow(innerExpression, 1/n), remainingIterations - 1);
    }
  }

  return nestedExpression(x, iterations);
}

const x = 2;
const n = 3;
const iterations = 5;

const result = solveEquation(x, n, iterations);
console.log(`x = ${result}`);

অনুশীলনঃ

১। f(x)=x!+(x−1)!+(x−2)!+...f(x) = x! + (x-1)! + (x-2)! + ...f(x)=x!+(x−1)!+(x−2)!+...

২। f(a,n)=a+a(a+1)+a(a+2)+...+(a)a+nf(a, n) =a+ a ^{(a+1)}+a^{(a+2)} + ...+ (a)^{a+n}f(a,n)=a+a(a+1)+a(a+2)+...+(a)a+n

Previousঅ্যারো ফাংশন(Arrow Function)Nextক্লোজার ফাংশন(Closures Function)

Last updated 1 year ago