javascript 中delete 的作用是干啥的

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