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自身的还是共有的