JS删除对象中某一属性案例详解

时间:2022-09-21 00:09:44

代码如下

?
1
2
3
4
5
6
var obj={
    name: 'zhagnsan',
    age: 19
}
delete obj.name //true
typeof obj.name //undefined

通过delete操作符, 可以实现对对象属性的删除操作, 返回值是布尔

可以删除其他东西吗

1.变量

?
1
2
3
4
5
6
7
8
9
10
11
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

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

2.函数

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

3.数组

?
1
2
3
4
5
6
7
8
9
10
11
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.对象

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
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

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

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。

原文链接:https://blog.csdn.net/weixin_43553701/article/details/90757945