JS删除对象中的某一属性
转载
var obj = {
name: "zhangsan",
age: 19
}
delete obj.name //true
typeof obj // undefined
通过delete操作符,可以实现对对象属性的删除操作,返回值是布尔
可以删除其他东西吗?
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)
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