जावास्क्रिप्ट में बाहरी और आंतरिक फ़ंक्शन के पैरामीटर

आइए ऐसा बनाएं ताकि बाहरी फ़ंक्शन और आंतरिक दोनों पैरामीटर स्वीकार करें:

javascriptfunction test(num) {
  function func(localNum) {
    console.log(localNum);
  }
}

आंतरिक फ़ंक्शन के कॉल में बाहरी फ़ंक्शन का पैरामीटर पास करें:

javascriptfunction test(num) {
  function func(localNum) {
    console.log(localNum); // 1 प्रिंट करेगा
  }
  
  func(num); //!! पैरामीटर पास करते हैं
}

test(1); // पैरामीटर के रूप में नंबर पास करें

ऐसा प्रतीत होता है कि आंतरिक फ़ंक्शन में चर num पैरेंट फ़ंक्शन से एक बाहरी चर के रूप में और चर localNum, जो आंतरिक फ़ंक्शन का स्थानीय चर है, उपलब्ध होगा।

इन दोनों चरों का मान समान होगा:

javascriptfunction test(num) {
  function func(localNum) {
    console.log(num); // 1 प्रिंट करेगा
    console.log(localNum); // 1 प्रिंट करेगा
  }
  
  func(num);
}

test(1);

उनके बीच अंतर निम्नलिखित होगा: यदि आंतरिक फ़ंक्शन में चर num को बदल दिया जाए - तो यह बाहरी फ़ंक्शन में भी बदल जाएगा:

javascriptfunction test(num) {
  function func(localNum) {
    num = 2; // चर num को बदलते हैं
  }
  
  func(num);   // पैरामीटर पास करें
  console.log(num);  // 2 प्रिंट करेगा
}

test(1); // पैरामीटर के रूप में नंबर पास करें

और चर localNum स्थानीय होगा। इसमें परिवर्तन से कोई परिवर्तन बाहरी फ़ंक्शन में नहीं होंगे। और खुद चर localNum बाहर से आंतरिक फ़ंक्शन में दिखाई नहीं देगा:

javascriptfunction test(num) {
  function func(localNum) {
    localNum = 2; // चर num को बदलते हैं
  }
  
  func(num); // पैरामीटर पास करें
}

test(1); // पैरामीटर के रूप में नंबर पास करें
Задание 1

बिना कोड चलाए निर्धारित करें कि कंसोल में क्या प्रिंट होगा:

javascriptfunction test(num) {
  function func(localNum) {
    console.log(localNum);
  }
  
  func(num);
}

test(1);
Задание 2

बिना कोड चलाए निर्धारित करें कि कंसोल में क्या प्रिंट होगा:

javascriptfunction test(num) {
  function func(localNum) {
    console.log(localNum);
  }
  
  func(num + 1);
}

test(1);
Задание 3

बिना कोड चलाए निर्धारित करें कि कंसोल में क्या प्रिंट होगा:

javascriptfunction test(num) {
  function func(localNum) {
    console.log(num);
  }
  
  func(num + 1);
}

test(1);
Задание 4

बिना कोड चलाए निर्धारित करें कि कंसोल में क्या प्रिंट होगा:

javascriptfunction test(num) {
  function func(localNum) {
    localNum = 2;
  }
  
  func(num);
  console.log(num);
}

test(1);
Задание 5

बिना कोड चलाए निर्धारित करें कि कंसोल में क्या प्रिंट होगा:

javascriptfunction test(num) {
  function func(localNum) {
    localNum = 2;
  }
  
  func(num);
  console.log(localNum);
}

test(1);
Задание 6

बिना कोड चलाए निर्धारित करें कि कंसोल में क्या प्रिंट होगा:

javascriptfunction test(num) {
  function func(localNum) {
    num = 2;
  }
  
  func(num);
  console.log(num);
}

test(1);