IE penceresinde bir özellik silme
Bu konuda herhangi bir bilgi; neden YANİ aşağıdaki kod çalışmıyor mu? bulamıyorum
window.x = 45;
delete window.x;
// or delete window['x'];
YANİ raporlar bir "nesne bu eylemi desteklemiyor" hata. Bununla bir ilgisi IE sorun penceresinde özellikleri üzerinden yineleme var mı?
CEVAP
Gasper üzerinde bitirdi çözümü ile ilgili bir yorum yaptı, ama onun değer gerçek bir cevap olarak seslendiğini düşünüyorum
try
{
delete window.x;
}
catch(e)
{
window["x"] = undefined;
}
İlginç bir sorun, sadece karşı başım bu gece yatıyordum. Bu durum IE atılmış ancak Firefox. Bu geçici bellek sızdırıyor şüpheli, idareli kullanmak istiyorum.
Sordum, neden sadece tanımsız ata değil mi? Eğer anahtarları daha sonra (eğer geçici güvenerek iseniz rağmen, anahtar numaralandırma hala ne istiyorsun olmaz...). numaralandır istersen önemli Ama her neyse, silmek arasındaki farkı vurgulamak için ve sadece tanımsız (http://jsfiddle.net/fschwiet/T4akL/) atama:
var deleted = {
a: 1
};
var cleared = {
a: 1
};
delete deleted["a"];
cleared["a"] = undefined;
for(var key in deleted) {
console.log("deleted has key", key);
}
for(var key in cleared) {
console.log("cleared has key", key);
}
console.log("deleted has a?", deleted.hasOwnProperty('a'));
console.log("cleared has a?", cleared.hasOwnProperty('a'));
çıktısı üretir:
cleared has key a
deleted has a? false
cleared has a? true
Zayıf ve güçlü özellik ayarlayıcısı Ob...
Nasıl bir Win32 uygulaması hata ayıkla...
STL silme öğeleri yineleme sırasında s...
Nasıl wpf penceresinde Kapat düğmesini...
Varsayılan olarak nasıl uygulama Pence...