วัตถุที่สร้างขึ้นโดยใช้ตัวอักษรของวัตถุคือ singletons ซึ่งหมายความว่าเมื่อทำการเปลี่ยนแปลงกับอ็อบเจ็กต์ จะมีผลกับอ็อบเจ็กต์ทั้งสคริปต์ แม้ว่าวัตถุจะถูกสร้างขึ้นโดยใช้ฟังก์ชันตัวสร้างและมีการเปลี่ยนแปลง การเปลี่ยนแปลงนั้นจะไม่ส่งผลต่อวัตถุตลอดทั้งสคริปต์
มาคุยกันทีละคน
1) วัตถุที่สร้างขึ้นโดยใช้ตัวอักษรวัตถุ
เนื่องจากสิ่งเหล่านี้คือ ซิงเกิ้ลตัน การเปลี่ยนแปลงวัตถุจะคงอยู่ตลอดสคริปต์ การเปลี่ยนแปลงในอินสแตนซ์เดียวจะส่งผลต่ออินสแตนซ์ทั้งหมดของออบเจ็กต์
ในตัวอย่างต่อไปนี้ หากเราสังเกต วัตถุทั้งสองอย่าง "นักเรียน " และ "newStudent " แสดง ชื่อ(รวี) . เดียวกัน เริ่มแรก แต่เมื่อชื่อวัตถุ "newstudent " มีการเปลี่ยนแปลง (ทำให้ชื่อวัตถุอื่นคงที่) วัตถุทั้งสองได้แสดง ชื่อที่เปลี่ยนแปลง (kumar) .
ตัวอย่าง
<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 ร่วม unction อาจารย์ l et คุณมีหลายอินสแตนซ์ของวัตถุนั้น หมายถึงการเปลี่ยนแปลงที่เกิดขึ้นกับอินสแตนซ์หนึ่งๆ จะไม่ส่งผลต่ออินสแตนซ์อื่นๆ
ในตัวอย่างต่อไปนี้แม้ว่าชื่อของวัตถุ "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