ECMAScript 5.1 standart söyler (hazır döngüler üzerinde) bölümünde 12.6.4:
Numaralandırılan nesnenin özellikleri numaralandırma sırasında silinebilir. Numaralandırma sırasında henüz ziyaret edilmemiş bir mülk silinirse, o zaman ziyaret edilmeyecektir. Numaralandırma sırasında numaralandırılan nesneye yeni özellikler eklenirse, yeni eklenen özelliklerin etkin numaralandırmada ziyaret edilmesi garanti edilmez. Bir mülk adı herhangi bir numaralandırmada birden fazla ziyaret edilmemelidir.
Bu yüzden, OP'nin kodunun yasal olduğu ve beklendiği gibi çalışacağının açık olduğunu düşünüyorum. Tarayıcı tuhaflıkları, yineleme sırasını ve genel olarak silme ifadelerini etkiler, ancak OP kodunun çalışıp çalışmayacağını etkilemez. Yinelemede yalnızca geçerli mülkü silmek genellikle en iyisidir - nesnedeki diğer özelliklerin silinmesi, öngörülemeyen bir şekilde bunların dahil edilmesine (zaten ziyaret edilmişse) veya yinelemeye dahil edilmemesine neden olur, ancak bu, duruma bağlı olarak bir endişe olabilir veya olmayabilir. durum.
Ayrıca bakınız:
Bunların hiçbiri OP'nin kodunu gerçekten etkilemez.