JavaScript 删除属性
■知识点
delete运算符能够删除指定对象的属性或者数组的元素,如果删除操作成功,则返回 true, 否则返回 false。
■实例设计
下面的代码使用delete运算符删除对象a的属性x。
var a ={ //定义对象a
x : 1, //定义对象成员
y : 2 //定义对象成员
};
console.log(a.x); //调用对象成员,返回1
console.log( delete a.x); //删除对象成员x成功,返回true
console.log(a.x); //返回undefined,没有找到该对象成员
如果删除不存在的对象成员,或者非对象成员、数组元素、变量时,则返回true,所以使用delete运算符时,要注意区分成功删除与无效操作。
var a ={}; //定义对象a
console.log(delete a); //返回false,说明不允许删除
console.log(delete a.z);//返回true, 说明不存在该属性
console.log(delete b); //返回true,说明不存在该变量
下面的代码使用delete运算符,配合in运算符,实现对数组成员执行检测、插入、删除或更新操作。
var a =[]; //定义数组对象
if("x" in a) //如果对象a中存在x
delete a["x"]; //则删除成员x
else //如果不存在成员x
a["x"] = true; //则插入成员x,并为其赋值true
console.log(a.x); //返回true。查看成员x的值
if(delete a["x"]) //如果删除成员x成功
a["x"] = false; //更新成员x的值为false
console.log(a,x); //返回false。查看成员x的值
点击加载更多评论>>