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

जावास्क्रिप्ट में संदर्भ-गणना कचरा संग्रहण के बारे में विस्तार से बताएं?

<घंटा/>

संदर्भ-गणना कचरा संग्रहण

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

उदाहरण

var obj = {
      x: { y: 2 }
         };
         // 2 objects created. One is referenced by the other as one of its properties.
         // Obviously, none can be garbage-collected
obj = 1; // what was the 'x' property of the object originally in obj
         // has zero references to it. It can be garbage collected.

सीमाएं

जब बात साइकिलों . की आती है संदर्भ-गणना कचरा संग्रहण में सीमाएं हैं और इसे नीचे दिए गए उदाहरण में समझाया गया है।

उदाहरण

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

function f() {
var obj1 = {};
var obj2 = {};
obj1.p = obj2; // o1 references o2
obj2.p = obj1; // o2 references o1. This creates a cycle.
}
f();

  1. जावास्क्रिप्ट में आशुलिपि कार्यों की व्याख्या करें?

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

  1. जावास्क्रिप्ट में स्टेटमेंट के लिए... के बारे में बताएं?

    for…in लूप सभी ऑब्जेक्ट गुणों के माध्यम से लूप करता है। जावास्क्रिप्ट में for..in स्टेटमेंट को लागू करने वाला कोड निम्नलिखित है - उदाहरण <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width

  1. जावास्क्रिप्ट में वस्तुओं की समानता की व्याख्या करें।

    जावास्क्रिप्ट में आदिम जैसे स्ट्रिंग, संख्या, बूलियन आदि की तुलना उनके मूल्यों से की जाती है जबकि वस्तुओं (मूल या कस्टम) की तुलना उनके संदर्भ से की जाती है। संदर्भ द्वारा तुलना करने का अर्थ है कि दो या दो से अधिक वस्तु स्मृति में एक ही स्थान की ओर इशारा करती है या नहीं। जावास्क्रिप्ट में वस्तुओं की