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

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

其他场景

1.变量

var name ='zs'  //已声明的变量
delete name //false
console.log(typeof name) //String age = 19 //未声明的变量
delete age //true
typeof age //undefined this.val = 'fds' //window下的变量
delete this.val //true
console.log(typeof this.val) //undefined

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

2.函数

var fn = function(){}  //已声明的函数
delete fn //false
console.log(typeof fn) //function fn = function(){} //未声明的函数
delete fn //true
console.log(typeof fn) //undefined

3.数组

var arr = ['1','2','3']  ///已声明的数组
delete arr //false
console.log(typeof arr) //object arr = ['1','2','3'] //未声明的数组
delete arr //true
console.log(typeof arr) //undefined var arr = ['1','2','3'] //已声明的数组
delete arr[1] //true
console.log(arr) //['1','empty','3']

4.对象

var person = {
height: 180,
long: 180,
weight: 180,
hobby: {
ball: 'good',
music: 'nice'
}
}
delete person ///false
console.log(typeof person) //object var person = {
height: 180,
long: 180,
weight: 180,
hobby: {
ball: 'good',
music: 'nice'
}
}
delete person.hobby ///true
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. 修改vscode终端样式

    在设置中查找workbench,然后编辑setting.json: "terminal.integrated.cursorBlinking": true, "termin ...

  2. SCM是什么?

    答: 全称为Software Configuration Management,即为软件配置管理

  3. vscode如何右键选择浏览器运行html文件

    我们利用Vscode软件编写html的时候,一般都想右键选择html文件,然后直接选择浏览器运行,但是默认是没有的: 下面鄙人给大家分享一下如何设置. 这里你会发现有好多类似的插件,你自己选择一个喜欢 ...

  4. OpenCL Workshop 1 —— 数字音频滤波

    Introduction 这两年深度学习大火,Cuda跟着吃红利,OpenCL发展也很快.虽然OpenCL不是事实上的标准,但是作为开放标准,适应性是很强的,除了显卡之外,CPU/FPGA上都可以执行 ...

  5. 胆机实作(1)——12AU7甲类单端前级

    第一次做胆机,选了最经典的单端共阴架构.电路没有什么复杂的,基本就是教科书电路,没有用负反馈,因为我不喜欢负反馈的声音.用电路板做机器焊接也没什么难度,器件找好开焊就行,试做机就不打算找外壳了,也不用 ...

  6. visible,invisible和GONE的区别

    在Android开发中,大部分控件都有visibility这个属性,其属性有3个分别为“visible ”.“invisible”.“gone”.主要用来设置控制控件的显示和隐藏.有些人可能会疑惑In ...

  7. Mysql - 面试题 获取每个学生的最高成绩

    题目 如下一个表, 三列, 姓名, 课程, 以及成绩, 现在想要得到知道每个学生最高成绩的课程名字. 解题

  8. 6and7.Pod控制器应用进阶

    Pod控制器应用进阶:imagepullpolicy: 镜像获取策略 Always,Never,IfNoPresent 暴露端口: portslabels 标签可以后期添加修改. ========== ...

  9. python hive

    sudo apt-get install sasl2-bin sudo apt-get install libsasl2-dev pip install pyhs2 pip install pyhiv ...

  10. maven项目pom.xml中使用不同源的jar/自定义仓库地址

    笔者本地使用aliyun的maven仓库,在github上找了一个jar,他需求使用第三方仓库. 比如要使用https://jitpack.io上面com.github.navinilavarasan ...