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
來源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
posted @ 2017-11-09 22:18  亨者,嘉之会也  阅读(2736)  评论(0编辑  收藏  举报