JavaScript进阶之:delete关键字(转载文章 )
- delete关键字的作用:
- 删除对象的属性 语法:delete 对象.属性
- 可以删除没有使用var关键字声明的全局变量(直接定义在window上面的属性)
-
delete关键字的使用注意:
- 返回值类型为布尔值(true / false),删除成功返回true
- 删除对象中不存在的属性,返回值是true
- 删除对象的原型对象中的属性(不能删除),返回值是true
- 无法删除使用var声明的全局的变量,但是却可以删除直接定义在window上面的属性
-
示例:
1 <script> 2 var dog = { 3 name:"招财", 4 age:14 5 } 6 //删除对象的属性 7 console.log(delete dog.name); //true 8 console.log(dog.name); //undefined 9 10 // 删除对象中不存在的属性 11 console.log(delete dog.eat); //true 12 13 // 删除对象的原型对象中的属性 14 Object.prototype.play = "玩"; 15 console.log(delete Object.prototype.play ); //true 16 17 //没有使用var关键字声明的变量,那么该变量默认会成为一个全局的变量(变成window的属性) 18 b = "testb"; 19 console.log(b); // testb 20 21 function func() { 22 var num1 = 10; 23 num2 = 20; 24 } 25 26 func(); 27 //console.log(num1); // 报错 无法在函数体外部访问局部变量 28 console.log(num2); //20 num2 变成了window的属性 29 30 //使用delete删除直接定义在window上面的属性 31 console.log(delete num2); // true 32 //console.log(num2); // 报错 33 34 var a = "testa"; 35 delete a; // 无法删除 36 console.log(a); // testa 37 38 </script>
作者:姬鸟念渔
链接:http://www.jianshu.com/p/738b7eed9722
來源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。