<script>
// delete运算符能够删除指定对象的属性、数组元素或者变量
// 删除属性:
// var a=function(){
// this.x=1;//x:1,
// this.y=2;//y:2
// };
// var b=new a;
// alert(b.x);
// alert(delete a.x);//删除对象a的x属性
// alert(a.x)//返回undefined
//delete运算时,如果删除成功。alert()返回true,
//delete运算符只能删除值类型的数据。不影响变量、属性或者数组元素的原引用对象
//例如:
// var a={
// x:1
// };
// var b={
// y:a
// };
// alert(delete b.y);
// alert(a.x);//原引用对象a没有被删除。
//delete运算不是清空值(值设置为undefined),而是把他们的占用内存清空,所以属于不可恢复的运算,
//虽然delete运算具有垃圾清理的功能,但是一般不再这方面使用,因为JS内置了垃圾回收程序。
//delete运算主要用来配合in运算符,可以方便的操作对象那个成员、数组元素,如检测、插入、删除、或者更新操作。
//例如:
var a=[];
if ('x' in a){
delete a['x'];
}
else{
a['x']=true;
}
alert(a.x);
if(delete a['x']){
a['x']=false;
}
alert(a['x']);
</script>
// delete运算符能够删除指定对象的属性、数组元素或者变量
// 删除属性:
// var a=function(){
// this.x=1;//x:1,
// this.y=2;//y:2
// };
// var b=new a;
// alert(b.x);
// alert(delete a.x);//删除对象a的x属性
// alert(a.x)//返回undefined
//delete运算时,如果删除成功。alert()返回true,
//delete运算符只能删除值类型的数据。不影响变量、属性或者数组元素的原引用对象
//例如:
// var a={
// x:1
// };
// var b={
// y:a
// };
// alert(delete b.y);
// alert(a.x);//原引用对象a没有被删除。
//delete运算不是清空值(值设置为undefined),而是把他们的占用内存清空,所以属于不可恢复的运算,
//虽然delete运算具有垃圾清理的功能,但是一般不再这方面使用,因为JS内置了垃圾回收程序。
//delete运算主要用来配合in运算符,可以方便的操作对象那个成员、数组元素,如检测、插入、删除、或者更新操作。
//例如:
var a=[];
if ('x' in a){
delete a['x'];
}
else{
a['x']=true;
}
alert(a.x);
if(delete a['x']){
a['x']=false;
}
alert(a['x']);
</script>