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

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章