JavaScript 刪除屬性
■知識(shí)點(diǎn)
delete運(yùn)算符能夠刪除指定對(duì)象的屬性或者數(shù)組的元素,如果刪除操作成功,則返回 true, 否則返回 false。
■實(shí)例設(shè)計(jì)
下面的代碼使用delete運(yùn)算符刪除對(duì)象a的屬性x。
var a ={ //定義對(duì)象a
x : 1, //定義對(duì)象成員
y : 2 //定義對(duì)象成員
};
console.log(a.x); //調(diào)用對(duì)象成員,返回1
console.log( delete a.x); //刪除對(duì)象成員x成功,返回true
console.log(a.x); //返回undefined,沒(méi)有找到該對(duì)象成員
如果刪除不存在的對(duì)象成員,或者非對(duì)象成員、數(shù)組元素、變量時(shí),則返回true,所以使用delete運(yùn)算符時(shí),要注意區(qū)分成功刪除與無(wú)效操作。
var a ={}; //定義對(duì)象a
console.log(delete a); //返回false,說(shuō)明不允許刪除
console.log(delete a.z);//返回true, 說(shuō)明不存在該屬性
console.log(delete b); //返回true,說(shuō)明不存在該變量
下面的代碼使用delete運(yùn)算符,配合in運(yùn)算符,實(shí)現(xiàn)對(duì)數(shù)組成員執(zhí)行檢測(cè)、插入、刪除或更新操作。
var a =[]; //定義數(shù)組對(duì)象
if("x" in a) //如果對(duì)象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的值
點(diǎn)擊加載更多評(píng)論>>