JavaScript对象基本用法

48 阅读1分钟

对象

对象是JavaScript中核心的概念也是最重要的数据类型。

定义:对象就是一组“键值对”(key-value)的集合,是一种无序的复合数据集合。

  • 无序的数据集合
  • 键值对的集合
var obj = {
  foo: 'Hello',
  bar: 'World'
};

对象的每一个键名又称为“属性”,它的“键值”可以是任何数据类型。

属性的操作

属性的读取

读取对象的属性,有两种方法,一种是点运算法,一种是方括号运算符。

var obj = {
  p: 'Hello World'
};

obj.p // "Hello World"
obj['p'] // "Hello World"

查看自身所有属性

Object.keys(obj)

查看自身+共有属性

onsole.dir(obj)

属性的修改和增加

直接赋值:

点运算符和方括号运算符,不仅可以用来读取值,还可以用来赋值。

var obj = {};

obj.name = 'y';
obj['age'] = '19';

批量赋值:

Object.assign(obj,{age:18,gender:'man'})

属性的删除

delete命令用于删除对象的属性,删除成功后返回true

var obj = { p: 1 };
Object.keys(obj) // ["p"]

delete obj.p // true
obj.p // undefined
Object.keys(obj) // []

'name' in obj 和 obj.has OwnProperty('name')的区别

in运算符用于检查对象是否包含某个属性(注意,检查的是键名,不是键值),如果包含就返回true,否则返回false'name' in obj只能检查obj对象里是否有name属性,不能区分是自身的还是共有的,obj.has OwnProperty('name')是可以判断一个属性是自身的还是共有的。