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

जावास्क्रिप्ट में सर्कुलर संदर्भ खराब क्यों है?

<घंटा/>

एक गोलाकार संदर्भ तब होता है जब दो अलग-अलग वस्तुएं एक-दूसरे को संदर्भ देती हैं।

पुराने ब्राउजर में सर्कुलर रेफरेंस मेमोरी लीक का कारण थे। कचरा संग्रहण एल्गोरिदम में सुधार के साथ, जो अब चक्र और चक्रीय निर्भरता को ठीक से संभाल सकता है, यह अब कोई समस्या नहीं है।

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

परिपत्र संदर्भों से बचना

जेएस में परिपत्र संदर्भ से बचने का कोई एक तरीका नहीं है। यह उपयोग के मामले और स्थिति पर निर्भर करता है और कुछ मामलों में आवश्यक भी हो सकता है। इसे समझने के लिए हम एक उदाहरण ले सकते हैं:

मान लीजिए कि आपके पास 2 वस्तुएं हैं, कुत्ता और व्यक्ति। आप केवल कुत्ते की वस्तु का उपयोग करके कुत्ते के मालिक और व्यक्ति वस्तु का उपयोग करने वाले व्यक्ति के पालतू जानवर को संदर्भित करने में सक्षम होना चाहते हैं।

let dog = new Dog();
let person = new Person();
// Creating a circular reference
dog.owner = person
person.pet = dog

अधिकांश परिदृश्यों में आपको केवल एक वस्तु तक पहुँचने और दूसरे को उससे प्राप्त करने की आवश्यकता होगी। ताकि आप किसी एक लिंक को तोड़ सकें। यदि नहीं तो आप विपरीत परिदृश्य में वस्तुओं को मैप करने के लिए मानचित्र का उपयोग कर सकते हैं। लेकिन हैक्स का उपयोग करने के बजाय, सर्कुलर रेफरी को वहां रहने देना बेहतर है।


  1. जावास्क्रिप्ट में सर्कुलर के रूप में डबल लिंक्ड लिस्ट

    डबल लिंक्ड लिस्ट में, अंतिम नोड का अगला पॉइंटर पहले नोड को इंगित करता है और पहले नोड का पिछला पॉइंटर दोनों दिशाओं में सर्कुलर बनाने वाले अंतिम नोड को इंगित करता है। एक सर्कुलर लिंक्ड लिस्ट में इंसर्शन और डिलीशन अन्य लिंक्ड लिस्ट के समान ही होते हैं। लिंक की गई सूची के किसी भी छोर पर संचालन करते स

  1. जावास्क्रिप्ट में सर्कुलर के रूप में सिंगल लिंक्ड लिस्ट

    सिंगल लिंक्ड लिस्ट में, अंतिम नोड का अगला पॉइंटर पहले नोड की ओर इशारा करता है।

  1. Excel में सर्कुलर संदर्भ क्या है?

    एक्सेल में, एक परिपत्र संदर्भ occurring हो रहा है इसका मतलब है कि एक सूत्र सेल प्रत्यक्ष या परोक्ष रूप से स्वयं को संदर्भित करता है। जब किसी वर्कशीट में एक गोलाकार संदर्भ होता है तो एक्सेल स्वचालित रूप से गणना नहीं कर सकता है। यदि आप वृत्तीय संदर्भ को अंदर छोड़ते हैं, तो Excel पिछले पुनरावृत्ति के म