JS 对操作符delete 的使用 规则 示例
js 操作符delete 适用于删除对象中的某一属性
示例:var user["info"]={
name: 'zhagnsan',
age: 19
}
delete user["info"] //-----true
通过delete操作符, 可以实现对对象属性的删除操作, 返回值是布尔 |
如果你试图删除的属性不存在,那么delete将不会起任何作用,但仍会返回true |
如果对象的原型链上有一个与待删除属性同名的属性,那么删除属性之后,对象会使用原型链上的那个属性(也就是说,delete操作只会在自身的属性上起作用) |
当一个属性被设置为不可设置,delete操作将不会有任何效果,并且会返回false。 |
已声明的 变量/数组/函数 不可删除, 未声明的 变量/数组/函数 可以删除
示例:变量
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
示例:数组
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']
示例:函数
var fn = function(){} //已声明的函数
delete fn //false
console.log(typeof fn) //function
fn = function(){} //未声明的函数
delete fn //true
console.log(typeof fn) //undefined
已声明的对象不可删除, 对象中的对象属性可以删除
示例:
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
本文地址:https://blog.csdn.net/Monster_WangXiaotu/article/details/107543143
上一篇: torch.nn