var obj={ name: ‘zhagnsan‘, age: 19 }delete obj.name //truetypeof obj.name //undefined
1.变量
var name =‘zs‘ //已声明的变量delete name //falseconsole.log(typeof name) //Stringage = 19 //未声明的变量delete age //truetypeof age //undefinedthis.val = ‘fds‘ //window下的变量delete this.val //trueconsole.log(typeof this.val) //undefined
已声明的变量不可删除, 未声明的变量可以删除
2.函数
var fn = function(){} //已声明的函数delete fn //falseconsole.log(typeof fn) //functionfn = function(){} //未声明的函数delete fn //trueconsole.log(typeof fn) //undefined
3.数组
var arr = [‘1‘,‘2‘,‘3‘] ///已声明的数组delete arr //falseconsole.log(typeof arr) //objectarr = [‘1‘,‘2‘,‘3‘] //未声明的数组delete arr //true console.log(typeof arr) //undefinedvar arr = [‘1‘,‘2‘,‘3‘] //已声明的数组delete arr[1] //trueconsole.log(arr) //[‘1‘,‘empty‘,‘3‘]
4.对象
var person = { height: 180, long: 180, weight: 180, hobby: { ball: ‘good‘, music: ‘nice‘ }}delete person ///falseconsole.log(typeof person) //objectvar person = { height: 180, long: 180, weight: 180, hobby: { ball: ‘good‘, music: ‘nice‘ }}delete person.hobby ///trueconsole.log(typeof person.hobby) //undefined
已声明的对象不可删除, 对象中的对象属性可以删除