原網址:https://blog.csdn.net/weixin_43553701/article/details/90757945
刪除對象屬性的方法
JS中如何刪除對象中的某一屬性
1 var obj={ 2 name: 'zhagnsan', 3 age: 19 4 } 5 delete obj.name //true 6 typeof obj.name //undefined
通過delete操作符,可以實現兌現屬性的刪除操作,返回值是布爾。
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
已聲明的變量在windows下可刪除,未聲明的變量不可刪除。
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.數組
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 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
已聲明的對象不可刪除,對象中的對象屬性可刪除。