JavaScript进阶之:十、delete关键字

  • 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>
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • JS基础讲解 JavaScript组成ECMAScript:解释器、翻译DOM:Document Object M...
    FConfidence阅读 580评论 0 1
  • JavaScript什么是JavaScriptJavaScript是一门脚本语言,简称JSJS的常见作用有给HTM...
    JonesCxy阅读 430评论 0 0
  • js简介 Js是一种基于事件和对象驱动的解释性、松散性的语言。 一切皆对象 javascript 布兰登艾奇 ...
    塔库纳玛哈哈阅读 1,233评论 0 2
  • 图片发自简书App 一 秦始皇厌东南有天子气,埋金于金陵岗以镇压,是为金陵城之前身。埋金...
    紫元真人阅读 633评论 0 2
  • 2012-12-02 10:27:10 道德经第十一章 三十辐,共一毂,当其无,有车之用。埏埴以为器,当其无,有器...
    露电梦幻泡影阅读 477评论 1 2