example:
var arr = [1,2,3];
var arrItem = arr[1];
var obj = {a:'a', b:'b'};
var objItem = obj.a;
delete arr[1];
alert(arrItem);//这里输出2
alert(arr[1]);//这里输出undefined
alert(arr.length);//这里输出3
delete obj.a;
alert(objItem);//这里输出a
//说明:可见,delete删除的仅仅是数组或对象中对其成员的引用
//特别需要注意的是,数组delete后length仍然不变
var objKeys = [];
for(var k in obj)objKeys.push(k);
alert(objKeys);//这里输出b
//说明:delete删除对象成员后,无法被遍历
总结:仅推荐用delete删除对象成员,删除数组元素推荐用splice
转载于:https://my.oschina.net/guomingliang/blog/222669