2013-11-18 2 views
-2
var HocSinh = function (id, ten) { 
      this.id = id; 
      this.ten = ten; 
      this.view = function() { 
       return id + ten; 
      } 
     } 
     var ar = []; 
     for (i = 0; i < 10; i++) { 
      var hs = new HocSinh(i, "thuc"); 
      ar.push(hs); 
     } 

     for (var x in ar) { 
      ar[x] = undefined; 
     } 

     alert(ar.length);//10 why? 

Почему ar не пуст? и как я могу проверить, не потерял ли мой код в памяти?Как удалить obj в javascript

+0

В чем ваш вопрос? – Krease

+0

Почему вы хотите удалить его ...? –

+0

http://stackoverflow.com/questions/10246215/how-to-destroy-javascript-object?answertab=votes#tab-top – form3

ответ

1

Просто используйте

hs = null; 

«удалить» можно удалить только атрибуты некоторого OBJ, как

delete hs.id; 
1

Вы не можете непосредственно удалять любые объектов JavaScript, но может установить его в undefined

Попробуйте таким образом

var HocSinh= function (id, ten) { 
    this.id = id; 
    this.ten = ten; 
    this.view = function() { 
     return id + ten; 
    } 
} 
var hs = new HocSinh(1, 2); 
alert(hs.view()); 
hs = undefined; // here 
alert(hs); 

проверьте здесь http://jsfiddle.net/Yg8wx/

Смежные вопросы