JS基本用法

97 阅读1分钟

1. 声明对象的两种语法
let obj = {};
let obj = new Object()

2. 如何删除对象的属性
delete obj.xxxdelete obj['xxx']
注意区分“属性名为undefined”和“不含属性名”。
不含属性名:'xxx' in obj === false;
含有值为undefined的属性名:'xxx' in obj && obj.xxx === undefined;
注:obj.xxx === undefined 不能断定'xxx'是否为obj属性。

3. 如何查看对象的属性
查看自身所有属性:Object.keys(obj)
查看自身+公有属性:console.dir(obj)或者依次用Object.keys打印出obj.__proto__
判断一个属性是自身还是公有的:obj.hasOwnProperty('toString')

4. 如何修改或增加对象的属性
直接赋值:let obj = {name: 'frank'}obj.name = 'frank'obj['name'] = 'frank'obj['na'+'me'] = 'frank'let key = 'name';obj[key] = 'frank'
批量赋值: Object.assign(obj,{age:18,gender:'man'})

5. 'name' in obj和obj.hasOwnProperty('name') 的区别
前者检查对象obj是否包含'name'属性,后者是检查'name'是否是obj的公有属性。