Js的delete运算符

Js的delete运算符

转自:http://hi.baidu.com/kfo2046/blog/item/fe7d4ec64273c5159c163d59.html


delete 运算符

从对象中删除一个属性,或从数组中删除一个元素。

delete expression
expression 参数是一个有效的 JScript 表达式,通常是一个属性名或数组元素。

说明
如果 expression 的结果是一个对象,且在 expression 中指定的属性存在,而该对象又不允许它被删除,则返回false。
在所有其他情况下,返回 true。

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值