Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> Javascript

जावास्क्रिप्ट में संदर्भ द्वारा जावास्क्रिप्ट पास की व्याख्या करें?

<घंटा/>

जावास्क्रिप्ट एक पास बाय वैल्यू लैंग्वेज है। लेकिन वस्तुओं के लिए, मूल्य उनका संदर्भ है। उदाहरण के लिए, यदि आप किसी फ़ंक्शन को पैरामीटर के रूप में एक इंट पास करते हैं और फ़ंक्शन में इसके मान को बढ़ाते हैं, तो इसका मान कॉलर के संदर्भ में अपडेट नहीं किया जाएगा -

उदाहरण

let i = 0;
function increment(x) {
   x = x + 1
   console.log(x)
}
increment(i)
console.log(i)

आउटपुट

1
0

जब आप किसी ऑब्जेक्ट को पास करते हैं और फ़ंक्शन के संदर्भ में उस ऑब्जेक्ट के संदर्भ को अपडेट करते हैं, तो यह ऑब्जेक्ट को प्रभावित नहीं करेगा। लेकिन अगर आप वस्तु के आंतरिक भाग को बदलते हैं, तो वह वस्तु में दिखाई देगा।

उदाहरण

let obj = {'foo': 'bar'};
function updateRef(x) {
   // x's local ref gets updates, doesn't affect obj
   x = {}
}
function addHelloWorld(y) {
   // Add new prop to object referenced by y
   y['hello'] = 'world';
}
console.log(obj)
updateRef(obj)
console.log(obj)
addHelloWorld(obj)
console.log(obj)

आउटपुट

{ foo: 'bar' }
{ foo: 'bar' }
{ foo: 'bar', hello: 'world' }

ध्यान दें कि वस्तु संदर्भ परिवर्तन वस्तु को प्रभावित नहीं करता है। स्थानीय चर x को पुन:असाइन किया गया था। दूसरे फ़ंक्शन में हालांकि, y obj ऑब्जेक्ट को संदर्भित कर रहा था और उस ऑब्जेक्ट की आंतरिक स्थिति को बदल दिया। इससे मूल वस्तु में परिवर्तन हुआ।


  1. जावास्क्रिप्ट में किसी वस्तु की डीप क्लोनिंग को उदाहरण सहित समझाइए।

    जावास्क्रिप्ट में किसी वस्तु की डीप क्लोनिंग के लिए कोड निम्नलिखित है - उदाहरण <!DOCTYPE html> <htmllang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>D

  1. जावास्क्रिप्ट में RegExp ऑब्जेक्ट।

    RegExp ऑब्जेक्ट का उपयोग टेक्स्ट के भाग को खोजकर और निकालकर कुछ टेक्स्ट से मेल खाने वाले पैटर्न के लिए किया जाता है। RegExp ऑब्जेक्ट को या तो regexp कंस्ट्रक्टर या शाब्दिक सिंटैक्स का उपयोग करके बनाया जा सकता है। जावास्क्रिप्ट में RegExp ऑब्जेक्ट के लिए कोड निम्नलिखित है - उदाहरण <!DOCTYPE html&

  1. जावास्क्रिप्ट में ऑब्जेक्ट प्रारंभकर्ता

    ऑब्जेक्ट इनिशियलाइज़र एक एक्सप्रेशन है जो हमें एक नई बनाई गई ऑब्जेक्ट को इनिशियलाइज़ करने की अनुमति देता है। यह संपत्ति के नामों के शून्य या अधिक जोड़े और घुंघराले ब्रेसिज़ की एक जोड़ी में संलग्न किसी वस्तु के संबंधित मूल्यों की अल्पविराम से अलग सूची है {}। जावास्क्रिप्ट में ऑब्जेक्ट इनिशियलाइज़र क