JS 对象基本用法

95 阅读1分钟

let声明与const声明

let a = 1;const a = 1. let声明的使用范围不能超出{},同时不能重复声明,在声明后可以直接赋值也可以先不赋值,对于a必须要先声明后才能使用,并且let声明的全局变量不会变为window属性,for循环还可以配合for循环使用。对于const声明,他不可以和for循环使用,其他几乎和let声明一样,但有一点不同,const在声明时就要赋值,赋值后不可更改!!

对象的增删读写

eg. var obg={name:'frank'.age:18}

  • 1.obj.name=undefined 此种方法只会删除属性值,属性仍然存在: obj{ name:undefined,age:18}
  • 2.delet obj.name 此种方法是将属性名和属性值全部删除: obj{ age:18}
  • 可以用 'name' in obj检验是否删除成功。

  • Object.keys(obj),读取自身所以属性。
  • console.dir(obj),读取自身加共有属性。
  • obj.hasOwnproerty('属性名')判断一个属性是自身还是共有属性。
  • Object.keys/value/entries分别可以查看对象的属性、属性值以及两者同时查看。
  • obj['key'],obj.key查看属性。

增改

直接赋值:

  • let obj={name:'frank'},
  • obj.name='frank',
  • obj['name']='frank',
  • obj['na'+'me']='frank',
  • obj.key=obj['key'] 批量赋值:
  • Object.assgin(obj,{age:18,gender:'man'})

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

name' in obj可以判断obj对象不含xxx属性
obj.hasOwnProperty('name')用来判断一个属性是obj自身的还是共有的