js中的delete 跟 c,c++中的delete意思不一样, js中的delete只是删除对象的属性,但是该属性所指向的对象并不会被删除掉
var person = {};
var body = {"head":"one big head", hand = "two"};
person.body = body;
delete person.body
person的body属性被删除,但是body这个对象还存在,body对象会由于失去了引用而被垃圾回收,自动被删掉来
参考下这边文章,说的很详细
http://www.jb51.net/article/31165.htm