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

ऑब्जेक्ट लिटरल और कंस्ट्रक्टर फ़ंक्शन का उपयोग करके बनाई गई वस्तुओं के बीच मुख्य अंतर क्या है?

<घंटा/>

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

आइए उन पर अलग-अलग चर्चा करें।

1) ऑब्जेक्ट लिटरल का उपयोग करके बनाए गए ऑब्जेक्ट

चूंकि ये एकल हैं , किसी वस्तु में परिवर्तन पूरी स्क्रिप्ट में बना रहता है। एक उदाहरण में परिवर्तन वस्तु के सभी उदाहरणों को प्रभावित करेगा।

निम्नलिखित उदाहरण में यदि हम दोनों वस्तुओं को देखें "विद्यार्थी " और "newStudent " वही प्रदर्शित करें नाम(रवि) शुरू में। लेकिन एक बार वस्तु का नाम "newstudent "बदला गया है (अन्य वस्तु का नाम स्थिर रखते हुए), दोनों वस्तुओं ने बदला हुआ नाम (कुमार) प्रदर्शित किया है .

उदाहरण

<html>
<body>
<script>
   var student = {
      name: "Ravi"
   }
   var newStudent = student;
   document.write("Before change");
   document.write("</br>");
   document.write("student name = " + student.name);
   document.write("</br>");
   document.write("new student name = " + newStudent.name);
   document.write("</br>");
   newStudent.name = "kumar";
   document.write("After change");
   document.write("</br>");
   document.write("student name = " + student.name);
   document.write("</br>");
   document.write("new student name = " + newStudent.name);
</script>
</body>
</html>

आउटपुट

Before change
student name = Ravi
new student name = Ravi
After change
student name = kumar
new student name = kumar


2) कंस्ट्रक्टर फ़ंक्शन का उपयोग करके बनाई गई वस्तुएं।

ऑब्जेक्ट को f . से परिभाषित किया गया है कार्य सह निर्देशक l यदि आपके पास उस वस्तु के कई उदाहरण हैं। इसका मतलब है कि एक उदाहरण में किया गया परिवर्तन, अन्य उदाहरणों को प्रभावित नहीं करेगा।

निम्नलिखित उदाहरण में भले ही वस्तु का नाम "newStudent " बदल गया है, अन्य वस्तु का नाम "विद्यार्थी " वही रहा। दोनों वस्तुओं ने अलग-अलग नाम प्रदर्शित किए जैसा कि आउटपुट में दिखाया गया है।

उदाहरण

<html>
<body>
<script>
   var stu = function() {
      this.name= "Ravi"
   }
   var newStudent = new stu();
   var student = new stu();
   document.write("Before change");
   document.write("<br>");
   document.write("student name = " + student.name);
   document.write("<br>");
   document.write("new student name = " + newStudent.name);
   document.write("<br>");
   newStudent.name = "kumar";
   document.write("After change");
   document.write("<br>");
   document.write("student name = " + student.name);
   document.write("<br>");
   document.write("new student name = " + newStudent.name);
</script>
</body>
</html>

आउटपुट

Before change
student name = Ravi
new student name = Ravi
After change
student name = Ravi
new student name = kumar

  1. जावास्क्रिप्ट में कार्यों और विधियों में क्या अंतर है?

    जावास्क्रिप्ट में कार्य और विधियाँ समान हैं, लेकिन विधि एक फ़ंक्शन है, जो किसी वस्तु का गुण है। जावास्क्रिप्ट में फ़ंक्शन का एक उदाहरण निम्नलिखित है - function functionname(param1, param2){    // code } उदाहरण विधि किसी ऑब्जेक्ट से संबद्ध एक फ़ंक्शन है। जावास्क्रिप्ट में एक विधि का उदाहरण

  1. C++ में असाइनमेंट ऑपरेटर और कॉपी कंस्ट्रक्टर में क्या अंतर है?

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

  1. C# में शाब्दिक और स्थिरांक में क्या अंतर है?

    स्थिरांक निश्चित मानों को संदर्भित करता है जो प्रोग्राम निष्पादन के दौरान परिवर्तित नहीं हो सकता है। इन निश्चित मूल्यों को शाब्दिक भी कहा जाता है। स्थिरांक किसी भी मूल डेटा प्रकार के हो सकते हैं जैसे पूर्णांक स्थिरांक, फ़्लोटिंग स्थिरांक, वर्ण स्थिरांक, या स्ट्रिंग शाब्दिक। गणन स्थिरांक भी हैं। एक