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