本文详解JavaScript中delete运算符的实际用法。重点讲解如何删除对象属性,并指出delete无法删除通过var声明的普通变量,也无法删除原型链上的属性。通过具体代码示例展示delete在不同场景下的行为差异及限制条件。
删除对象属性
1. 对象属性删除
function fun(){
this.name = 'mm';
}
var obj = new fun();
console.log(obj.name);//mm
delete obj.name;
console.log(obj.name); //undefined
变量删除的限制
2. 变量删除
var name = 'lily';
delete name;
console.log(name); //lily
3. 无法直接删除变量
原型链属性的不可删除性
3,删除不了原型链中的变量
fun.prototype.age = 18;
delete obj.age;
console.log(obj.age) //18