声明对象的两种语法

 let obj = { 'name': 'frank', 'age': 18 }

let obj = new Object({'name': 'frank'})

如何删除对象的属性

delete obj.xxx或delete obj['xxx']

  • 即可删除obj的xxx属性

  • 注意区分

    • 含有属性名,但值为undefined

      • 'xxx' in obj ===undefined

      • obj.xxx ===undefined

        • 不能断定'xxx'是否为obj的属性
    • 不含属性名

      • ‘xxx’ in obj = = = false

如何查看对象的属性(读属性)

查看自身所有属性

  • Object.keys(obj)

    • 查看key
  • Object.entries(obj)

    • 查看所有

查看自身+共有属性

- console.dir(obj)

  • 或者自己依次用Object.keys打印出obj.__proto__(不推荐用)

判断一个属性是自身的还是共有的

  • obj.hasOwnProperty('toString')

看单个属性

  • obj['name'] (推荐用)

    • 这里的name是字符串
  • obj.name

    • 这里的name是字符串
  • obj[name]

    • 这里的name是变量

注:读对象的属性时,

如果使用 [ ] 语法,那么 JS 会先求 [ ] 中表达式的值,注意区分表达式是变量还是常量。

如果使用点语法,那么点后面一定是 string 常量。

如何修改或增加对象的属性(写)

自身属性

  • obj['name'] = 'jack'

    • 更改自身属性
  • Object.assign(obj, {age: 18, gender: 'man'})

    • 批量赋值

共有属性

  • Object.prototype['toString'] = 'xxx'

    • 改共有属性

隐藏属性

  • let obj = Object.creat(common)

    • 改原型

'name' in obj和obj.hasOwnProperty('name') 的区别

'name' in obj可以判断obj对象不含xxx属性

  • 自身属性和共有属性都返回true

obj.hasOwnProperty('name')用来判断一个属性是obj自身的还是共有的

  • 仅仅是自身属性才返回true

延伸

Object.defineProperty()

  • 用于在一个对象上定义新的属性或修改现有属性, 并返回该对象.

最新文章

  1. Masonry tableviewCell布局(转)
  2. salesforce 零基础学习(二十一)workflow Q&A
  3. iOS-ARC
  4. 商业银行在CNAPS体系中对各种交易的处理
  5. 将某个Qt4项目升级到Qt5遇到的问题[转]
  6. angularjs 不同的controller之间值的传递
  7. IE7中line-height垂直居中问题
  8. Deadline来了,如何按时结题?
  9. 按要求编写一个Java应用程序: (1)定义一个类,描述一个矩形,包含有长、宽两种属性,和计算面积方法。 (2)编写一个类,继承自矩形类,同时该类描述长方体,具有长、宽、高属性, 和计算体积的方法。 (3)编写一个测试类,对以上两个类进行测试,创建一个长方体,定义其长、 宽、高,输出其底面积和体积。
  10. 《A First Course in Probability》-chape4-离散型随机变量-方差
  11. wuzhicms 数据迁移策略
  12. 1 let和const
  13. MysqL 磁盘写入策略之innodb_flush_log_at_trx_commit
  14. python word转pdf
  15. xcode的打包上线出问题:导入此构建版本时出错
  16. IP地址等价类测试用例
  17. re模块,subprocess模块
  18. flask框架--cookie,session
  19. 【NOIP复习】最短路总结
  20. Java的数组和list升序,降序,逆序函数Collections.sort和Arrays.sort的使用

热门文章

  1. 萌新学渗透系列之Hack The Box_Lame
  2. activiti7 导出bpmn文件
  3. PHP ftell() 函数
  4. 4.9 省选模拟赛 划分序列 二分 结论 树状数组优化dp
  5. windows:shellcode 代码远程APC注入和加载
  6. Taurus.MVC 2.3.4 :WebAPI 文档集成测试功能升级:WebAPI批量自动化测试功能。
  7. .Net Core 3.0下AOP试水~~
  8. springboot 使用DruidDataSource 数据源
  9. Mysql存储结构
  10. 全球疫情爬取APP版