无标题文章

delete关键字

作用:

  • 删除对象中的属性
  • 删除没有使用var关键字声明的全局变量

注意:

  • 返回值 布尔类型的值(我们可以通过该值来判断是否删除成功)
  • 使用var关键字声明的变量无法被删除
  • 删除对象中不存在的属性没有任何变化,但是返回值为true
  • 不能删除window下面的全局变量(使用var声明),但是可以删除直接定义在window上面的属性
<script>

    var dog = {
        name:"阿黄",
        color:"红色"
    }

    console.log(delete dog.color); //true
    console.log(dog.color);        //undefined

    var a = 10;
    b = 20;   //没有使用var关键字声明的变量默认会成为全局变量,全局变量默认都会成为window的属性
    console.log(b); //20

    delete b;
//    console.log(b);
    console.log(a); //10

    console.log(delete a);   //删除不成功  false
    console.log(a); //10

    console.log(delete dog.age);   //返回的是成功还是失败?  成功


    //window
    console.log(window.a); //10
    delete window.a;
    console.log(window.a); //10

    window.demo = "demo";
    console.log(window.demo); //demo
    delete window.demo;
    console.log(window.demo); //undefined
</script>
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 第5章 引用类型(返回首页) 本章内容 使用对象 创建并操作数组 理解基本的JavaScript类型 使用基本类型...
    大学一百阅读 8,455评论 0 4
  • 【2017年最新】☞ iOS面试题及答案 设计模式是什么? 你知道哪些设计模式,并简要叙述? 设计模式是一种编码经...
    紫色冰雨阅读 3,754评论 0 1
  • let和const命令 let命令 基本用法 ES6新增了let命令,用来声明变量。它的用法类似于var,但是所声...
    xuetaohe阅读 3,003评论 0 0
  • 1.《夏天的风》 夏天的风 我永远记得 清清楚楚地说你爱我我看见你酷酷的笑容 也有腼腆的时候夏天的风 正暖暖吹过穿...
    心有琳夕cl阅读 3,486评论 0 1
  • 在山之巅 浮云偷换了记忆 沉睡的河在苏醒 谁用那浪花的手 托起浩浩山风 越过岸的彼岸 欲掀开隐蔽的层林 草木,泥土...
    淡蓝如初阅读 1,865评论 8 7