javascript - 关于js删除对象属性的问题
迷茫
迷茫 2017-04-10 15:04:34
0
2
315

"term": 1,
"year": "2014-2015",

这是对象中的两个属性

delete comments[item].year;
delete comments[item].term;

year能删除 而term不能删除 我认为是不是因为他是整形的 那有什么办法能删掉term 连同属性名一起删除

迷茫
迷茫

业精于勤,荒于嬉;行成于思,毁于随。

모든 응답 (2)
Ty80

delete运算符可以用来删除对象的属性。如果对象包含该属性,那么该属性就会被删除,它不会触及原型链中的任何对象。

var p = { "term" : 1, "year" : "2014-2015" }; delete p.term; delete p.year; console.log(p.term); //undefined 不存在则返回undefined console.log(p.year); //undefined

但是,删除对象的属性可能会让来自原型链中的属性透现出来:

var A = { "term" : 1 } var p = { "term" : 1, "year" : "2014-2015" }; var B = function(){}; B.prototype = A; p = new B(); delete p.term; delete p.year; console.log(p.term); // 1 暴露了原形链中的属性 console.log(p.year); //undefined 不存在则返回undefined

所以你还是检查下你的原型链上是否有这个属性,贴出你的完整代码吧 o(╯□╰)o

    大家讲道理
    jsvar p = { "term" : 1, "year" : "2014-2015" }; console.log(p); delete p.year delete p.term; console.log(p);

    都可以删除呀

      최신 다운로드
      더>
      웹 효과
      웹사이트 소스 코드
      웹사이트 자료
      프론트엔드 템플릿
      회사 소개 부인 성명 Sitemap
      PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!