美文网首页
JavaScript进阶之:十、delete关键字

JavaScript进阶之:十、delete关键字

作者: 姬鸟念渔 | 来源:发表于2017-03-11 09:22 被阅读0次
  • delete关键字的作用:

    • 删除对象的属性 语法:delete 对象.属性
    • 可以删除没有使用var关键字声明的全局变量(直接定义在window上面的属性)
  • delete关键字的使用注意:

    • 返回值类型为布尔值(true / false),删除成功返回true
    • 删除对象中不存在的属性,返回值是true
    • 删除对象的原型对象中的属性(不能删除),返回值是true
    • 无法删除使用var声明的全局的变量,但是却可以删除直接定义在window上面的属性
  • 示例:

<script>
    var dog = {
        name:"招财",
        age:14
    }
    //删除对象的属性
    console.log(delete dog.name);  //true
    console.log(dog.name);         //undefined
    
    // 删除对象中不存在的属性
    console.log(delete dog.eat);  //true

    // 删除对象的原型对象中的属性
    Object.prototype.play =  "玩";
    console.log(delete Object.prototype.play );  //true

    //没有使用var关键字声明的变量,那么该变量默认会成为一个全局的变量(变成window的属性)
    b = "testb";
    console.log(b); // testb

    function func() {
        var num1 = 10;
        num2 = 20;
    }

    func();
    //console.log(num1);  // 报错 无法在函数体外部访问局部变量
    console.log(num2);    //20   num2 变成了window的属性

    //使用delete删除直接定义在window上面的属性
    console.log(delete num2);   // true
    //console.log(num2);        // 报错

    var a = "testa";
    delete a; // 无法删除
    console.log(a);   // testa

    // 删除对象中不存在的属性
</script>

相关文章

网友评论

      本文标题:JavaScript进阶之:十、delete关键字

      本文链接:https://www.haomeiwen.com/subject/gzxogttx.html