delete关键字的作用:
1.删除对象的属性 语法:delete 对象.属性
2.可以删除没有使用var关键字声明的全局变量(直接定义在window上面的属性)
3.删除数组元素
4.不能删除内置对象的属性
5.不能直接删除从原型上继承的属性
delete关键字的使用注意:1.返回值类型为布尔值(true / false),删除成功返回true
2.删除对象中不存在的属性,返回值是true
3.删除对象的原型对象中的属性(不能删除),返回值是true
4.无法删除使用var声明的全局的变量,但是却可以删除直接定义在window上面的属性
代码解释
<!DOCTYPE html><html lang="en"><head> ?<meta charset="UTF-8"> ?<meta name="viewport" content="width=device-width, initial-scale=1.0"> ?<meta http-equiv="X-UA-Compatible" content="ie=edge"> ?<title>Document</title></head><body></body></html><script> ?var obj = { ???name: "张三" ?} ?console.log(obj.name); //张三 ?obj.name = "李四"; ?console.log(obj.name);//李四 ?//可以直接删除对象的属性 ?delete obj.name; ?console.log(obj.name);//undefined-------------------------------------------------------------- ?function Person() { ???this.age = 18; ?} ?Person.prototype.name = "张三"; ?var p1 = new Person(); ?console.log(p1.name); //张三 ?p1.name = "李四"; ?console.log(p1.name); //李四 ?//不能直接删除原型属性 ?delete p1.name; ??console.log(p1.name); //张三
//删除原型属性
delete Person.prototype.name;
console.log(p1.name);//undefined
?console.log(p1.age); //18 ?p1.age = 22; ?//可以直接删除实例属性 ?delete p1.age; //可以删除 ?console.log(p1.age); //undefined ?//删除不存在的属性,返回true----------------------------------------------- ?a = 20; ?//可以删除未用var 声明的变量(全局变量) ?delete a; ?// console.log(a);//a is undefined ?var b = 15; ?//不能删除 var 生命的变量 ?delete b; ?console.log(b);//15</script>
js----delete关键字
原文地址:https://www.cnblogs.com/SRH151219/p/10420819.html