2011-11-27 20 views
6

Sanırım delirebilirim.console.log() aynı nesne özelliği için çelişen değerleri gösteren

Bir nesnenin durumunu görmek için console.log() yöntemini kullanırım ve bir sonraki satırda aynı nesnenin belirli bir özelliği üzerinde bir konsol.log() yapar ve her biri için farklı değerler alırım.

i kullanıyorum kodudur:

console.log(this.pictures.Items[pic].val); 

for(var i in this.pictures.Items[pic].val) { 
    console.log("property: %s, value: %s", i, this.pictures.Items[pic].val[i]); 
} 

ve firebug çıkışları: Gördüğünüz gibi, 'isLoaded'

Picture { isLoaded=true, isSelected=false, img_src="imgs/image1.jpg", more...} 

property: isLoaded, value: false 
...more properties 

olduğu doğrudur giriş yaparken nesne kendisini günlüğü ama yanlış zaman özelliği.

Her ihtimale karşı nesneyi yeniden kaydetmeyi denedim ve yine doğru.

Burada neler olduğunu bilen var mı?

Teşekkür

Zengin

+0

http://jsfiddle.net/xmvUR/ ... Kodunuzun gerçek konumunu bilmiyorum. Ama eminim ki JavaScript'de böyle bir hata yok .. –

cevap

2

bu sizin ya da olmamak neler olduğunu olup olmadığını tamamen emin değilim, ama console.log() bir değer üzerinde console.log() yapıyor ya kullanılarak bazı tarayıcılarda bazı sorunlar var gibi görünüyor Bir dizide değişen veya yinelenen bir dizin değişkeni her zaman düzgün çalışmaz.

Tahminimce, süreç sınırları arasında bir şekilde uyuşan şeylerle ve belki de kullanılan nesne ya da dizinin değiştirildiği bir zamana kadar günlüğe kaydetme ifadesinin gerçek değerlendirmesindeki bir gecikme ile ilgili bir şey olması. Bu sorunu Chrome'da kesinlikle gördüm. Firefox'u bilmiyorum.

Son dizenizi oluşturmak için dizgi matematiği kullanarak bu sorunla ilgili çalışabilirsiniz. Yalnızca son dize, her şeyin tam olarak değerlendirildiği console.log()'a geçirilirse, bu sorun çıktıyı etkilemez.

İlgili konular