JS中delete操作符详解:删除对象属性及变量、函数、数组的行为

作者:闭包旅人

时间:2026-10-26

浏览:617

本文详细介绍JavaScript中delete操作符的用法。delete主要用于删除对象属性,返回布尔值。文章进一步探讨了对已声明和未声明的变量、函数、数组及对象使用delete的行为差异,指出已声明的变量、函数和对象通常无法删除,而未声明的全局变量可被删除。

文章目录

在JavaScript中,如何移除对象中的特定属性?

var obj={
	name: 'zhagnsan',
	age: 19 
}
delete obj.name //true
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

对于已声明的变量,在浏览器环境(如window对象下的变量)中可能被删除,但未通过var/let/const声明的变量则无法通过delete删除。

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)  //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. 对象

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

已声明的对象本身不可被delete删除,但对象内部的属性可以被成功删除。

至此,关于JavaScript中如何使用delete删除对象属性的介绍已完成。如需了解更多相关内容,欢迎查阅本站往期文章或继续阅读后续章节,感谢大家的支持!

实用工具推荐

电子包浆

绿化、压缩、噪点和虚拟水印,自由调节做旧程度。

使用 ›
图片压缩

选择画质和输出格式,预览压缩前后的大小。

使用 ›
相关文章