Sayfa yüklenirken, iki Javascript nesnesi, objDemo1
ve objDemo1Backup
oluşturuyorum.Bir javascript nesnesini başka bir nesneyle değiştirin
örn.
objDemo1 {
sub_1 = { something: 123, somethingElse: 321 },
sub_2 = { something: 456, somethingElse: 654 }
}
ben sub_
değerleri değiştirebilir yanı sıra eklemek/yeni sub_
's silmek ama düzenlediğimden tek nesne objDemo1
olduğunu olabilir. yani ben bir sıfırla düğmesi bulunur objDemo1Backup
değişmeyeceğimizi arka sayfa başlangıçta yüklendiğinde ne olduğu için objDemo1
sıfırlanır tıklandığında (yani objDemo1 = objDemo1Backup
). Burada sorun yaşıyorum ..
objDemo1
'u objDemo1Backup
olarak nasıl ayarlayabilirim?
denedim:
objDemo1 = objDemo1Backup;
ve
objDemo1 = null;
var objDemo1 = objDemo1Backup;
... yanı sıra benzer varyasyonları ama işe yaramış gibi görünüyor. Herhangi bir fikrin var mı?
- Not: Ben sıfırlama noktasındaki onaylayabilir,
objDemo1Backup
bunu oluşturulan veobjDemo1
değiştiğinde olduğu gibi tamamen aynıdır. - Kodum kesinlikle "reset" işlevine isabet ediyor, burada
objDemo1 = objDemo1Backup
denedim ... Nesnenin yerini alacak sözdizimini anlayamıyorum. JavaScript nesnelerinde, hiçbir zaman değere göre, referans olarak geçirilir.
Neler olup bittiğini varsayalım, hem 'objDemo1' hem de 'objDemo1Backup' aynı nesneyi gösterdiğinden, birini değiştirdiğinizde her ikisi de değişir. Bu sezgisel görünmeyebilir, ancak javascript'in çalışması budur. Daha fazla bilgi için Google ** "javascript clone object" **. – Shmiddty
Nesne başvurusu ile oynuyorsunuz, klonlama değil. = – LittleSweetSeas