JS中delete操作符详解:删除对象属性及变量、函数、数组的行为
作者:闭包旅人时间:2026-10-26 09:31:15浏览:618
本文详细介绍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) //undefined3. 数组
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删除对象属性的介绍已完成。如需了解更多相关内容,欢迎查阅本站往期文章或继续阅读后续章节,感谢大家的支持!
作者最新文章
什么时候该用JS构造器:与工厂模式、字面量的选择对比
2026-11-05 16:18:22
推荐几款轻量级JS照片墙开源库及对比
2026-11-05 15:56:19
JavaScript递归写法有哪些常见陷阱及避免方法
2026-11-05 14:53:38
JS数组浅拷贝与深拷贝怎么选?场景与方法总结
2026-11-05 14:41:02
p5.js 中 setup() 和 draw() 函数的执行机制详解
2026-11-05 12:32:38
