'daki atama işleciyle başka bir nesneye eşit olarak ayarlamak C arka planından javascript'e geliyorum. Javascript'te, atama işlecini bir nesneyi diğerine atamak için kullandığımda, değerleri birinden diğerine kopyalar mı, yoksa ikisi de şimdi aynı verilere işaret eder mi? Veya görevlendirme operatörü bu durumda herhangi bir şey yapar mı? Yukarıdaki örnekte Bir nesneyi Javascript
function point_type()
{
this.x = 0;
this.y = 0;
}
var pnt1 = new point_type();
var pnt2 = new point_type();
pnt1.x = 4;
pnt1.y = 5;
pnt2 = pnt1;
pnt1.x = 8;
pnt2.y = 9;
, hemen eşit 8 pnt2.x etmez, ya da 4 eşit hala da, ya da 0 eşit hala mi?
Evet, bunu kendim test edebileceğimin farkındayım ve bunu yapıp topluluğun bir cevap bulmasını beklerken bunu yapacağım. Ancak, bu sorunun cevabını bir adım daha ileriye taşıyacağımı umuyorum ve javascript nesnelerini nasıl çalıştığına ve bazı en iyi uygulamalara ışık tutabileceğimi umuyorum.
soru Takip:
cevap referans kopyalandığını gibi görünüyor. pnt2 ve pnt1 şimdi aynı verilere işaret ediyor. Nesnemi, değerler kopyalanacak şekilde ayarlamak mümkün mü? Bu genellikle javascriptte nasıl başarılır? Açıkçası, bu nesneyi kopyalamamız gerektiğinde her bir özelliği tek tek ayarlamak istemiyorum.
Javascript http://oranlooney.com/functional-javascript/ de kopya, sığ kopya ve "klon" büyük bir okuma – micahwittman