javascript 删除对象的属性 delete


 

1.当属性存在 configurable:true delete命令会返回true

var obj={a:1};
delete obj.a //true
console.log(obj);//{}

 

2.当属性存在 不能删除情况  delete命令会返回false

 
var obj=Object.defineProperty({}, 'p', {
  value: 123,
  configurable: false //不能删除当前p属性
});

obj.p // 123
delete obj.p // false
简单介绍一下:Object.defineProperty(obj,prop,desc)
obj:当前对象
prop:新属性或者需要修改的属性
desc:属性描述符


3.当属性不存在 delete命令会返回true 所以不能根据delete命令的返回结果确定该属性是否存在
var obj={};
delete obj.p//true

4.不能删除对象的继承属性

var obj={};
delete obj.toString();//true
obj.toString //function toString() { [native code] }

 

 
 

 

 

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM