JS如何删除对象中的某一属性

  1. var obj={
  2. name: 'zhagnsan',
  3. age: 19
  4. }
  5. delete obj.name //true
  6. typeof obj.name //undefined
  • 通过delete操作符, 可以实现对对象属性的删除操作, 返回值是布尔
  • 如果你试图删除的属性不存在,那么delete将不会起任何作用,但仍会返回true
  • 如果对象的原型链上有一个与待删除属性同名的属性,那么删除属性之后,对象会使用原型链上的那个属性(也就是说,delete操作只会在自身的属性上起作用)
  • 当一个属性被设置为不可设置,delete操作将不会有任何效果,并且会返回false。

其他场景

1.变量

  1. var name ='zs' //已声明的变量
  2. delete name //false
  3. console.log(typeof name) //String
  4.  
  5. age = 19 //未声明的变量
  6. delete age //true
  7. typeof age //undefined
  8.  
  9. this.val = 'fds' //window下的变量
  10. delete this.val //true
  11. console.log(typeof this.val) //undefined

已声明的变量不可删除, 未声明的变量可以删除

2.函数

  1. var fn = function(){} //已声明的函数
  2. delete fn //false
  3. console.log(typeof fn) //function
  4.  
  5. fn = function(){} //未声明的函数
  6. delete fn //true
  7. console.log(typeof fn) //undefined

3.数组

  1. var arr = ['1','2','3'] ///已声明的数组
  2. delete arr //false
  3. console.log(typeof arr) //object
  4.  
  5. arr = ['1','2','3'] //未声明的数组
  6. delete arr //true
  7. console.log(typeof arr) //undefined
  8.  
  9. var arr = ['1','2','3'] //已声明的数组
  10. delete arr[1] //true
  11. console.log(arr) //['1','empty','3']

4.对象

  1. var person = {
  2. height: 180,
  3. long: 180,
  4. weight: 180,
  5. hobby: {
  6. ball: 'good',
  7. music: 'nice'
  8. }
  9. }
  10. delete person ///false
  11. console.log(typeof person) //object
  12.  
  13. var person = {
  14. height: 180,
  15. long: 180,
  16. weight: 180,
  17. hobby: {
  18. ball: 'good',
  19. music: 'nice'
  20. }
  21. }
  22. delete person.hobby ///true
  23. console.log(typeof person.hobby) //undefined

已声明的对象不可删除, 对象中的对象属性可以删除

JS的 delete操作符 删除对象属性的更多相关文章

  1. JS delete 用法(删除对象属性及变量)

    1,对象属性删除 function fun(){ this.name = 'mm'; } var obj = new fun(); console.log(obj.name);//mm delete ...

  2. js delete可以删除对象属性及变量

    ,对象属性删除 function fun(){ this.name = 'mm'; } var obj = new fun(); console.log(obj.name);//mm delete o ...

  3. js delete删除对象属性,delete删除不了变量及原型链中的变量

    js delete删除对象属性,delete删除不了变量及原型链中的变量 一.delete删除对象属性 function fun(){ this.name = 'gg'; } var obj = ne ...

  4. JS中delete删除对象属性

    1.删除对象属性 function fun(){   this.name = 'mm';   }   var obj = new fun();   console.log(obj.name);//mm ...

  5. JavaScript 删除某个数组中指定的对象和删除对象属性

    Javascript: 删除指定对象:使用过程中只适合删除对象,如果数组中添加的是类型Function的话是删除不了的. function removeObjWithArr(_arr,_obj) { ...

  6. js中彻底删除对象属性

    delete运算符可以删除对象的属性,但是仅仅是断开了属性和宿主对象的联系,而不会去操作被删除属性的属性值,所以就需要彻底删除的出现 function myDelete(obj,propertyNam ...

  7. delete 删除对象属性

    删除属性要直接删.

  8. JS删除对象属性

    项目中有些属性使用之后需要重置 var user = {}; user.name = "123"; user.age="30"; console.log(use ...

  9. JS 删除对象属性

    updateNode: function(data) { if(data) { this.root[data.id] = data; } }, removeNodes: function(idsArr ...

随机推荐

  1. 前端知识点回顾之重点篇——ES6的Iterator和Generator

    Iterator 迭代器是一种接口.是一种机制. 为各种不同的数据结构提供统一的访问机制.任何数据结构只要部署 Iterator 接口,就可以完成遍历操作(即依次处理该数据结构的所有成员). Iter ...

  2. 使用Selenium时解决方案: Exception: Failed to find firefox binary. You can set it by specifying the ······

    问题描述: Firefox在自动升级之后,在使用selenium的时候出现了如下错误: Exception: Failed to find firefox binary. You can set it ...

  3. Smarty section、foreach控制循环次数的实现详解

    <!--{ section name='i' loop=$a }--><!--{ if $smarty.section.i.index < 3 }--><!--{  ...

  4. 用python读取csv信息并写入新的文件

    import csv fo = open("result.txt", "w+") reader = csv.reader(open('test.csv')) f ...

  5. plantuml语法

    活动图(新语法) 当前活动图(activity diagram)的语法有诸多限制和缺点,比如代码难以维护. 所以从V7947开始提出一种全新的.更好的语法格式和软件实现供用户使用(beta版). 就像 ...

  6. centos下同步备份工具rsync的安装及配置

    http://www.cnblogs.com/wander1129/archive/2013/03/27/2984922.html

  7. java数据结构之ConcurrentHashMap

    大神博客:https://www.cnblogs.com/study-everyday/p/6430462.html https://baijiahao.baidu.com/s?id=16170899 ...

  8. MySQL InnoDB存储引擎大观

    转的一篇文章作者:七把刀链接:https://www.jianshu.com/p/d4cc0ea9d097 MySQL InnoDB 引擎现在广为使用,它提供了事务,行锁,日志等一系列特性,本文分析下 ...

  9. Centos7搭建主从DNS服务器

    1.准备 例:两台192.168.11.10(主),192.168.11.11(从),域名www.test1.com # 主从DNS服务器均需要安装bind.bind-chroot.bind-util ...

  10. Docker部署Nextcloud私有网盘

    对于国内某度的网盘限速行为大家有目共睹,不过对于商业化的产品模式这样也无可厚非,毕竟企业也是盈利为目的.如果想享受互联网技术带来的便利,刚好也懂一点技术的话可以尝试搭建属于私有的网盘.个人比较推荐的是 ...