ऑब्जेक्ट लिटरल का उपयोग करके बनाए गए ऑब्जेक्ट सिंगलटन . हैं , इसका मतलब है कि जब वस्तु में कोई परिवर्तन किया जाता है, तो यह पूरी लिपि में वस्तु को प्रभावित करता है। जबकि अगर कोई ऑब्जेक्ट कंस्ट्रक्टर फ़ंक्शन का उपयोग करके बनाया गया है और उसमें कोई परिवर्तन किया गया है, तो वह परिवर्तन पूरी स्क्रिप्ट में ऑब्जेक्ट को प्रभावित नहीं करेगा।
आइए उन पर अलग-अलग चर्चा करें।
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