对象数据类型
普通对象
{[key] : [value], ……} 任何一个对象都是由0到多组键值对(属性名:属性值)组成的(并且属性名不能重复)
let person = {
name : 'xxx',
age : 11,
height : '11cm',
weight : '11kg',
1 : 11
};
console.log(person.name); // => xxx
console.log(person['age']); // => 11
console.log(person.sex); // => undefined
console.log(person[1]); // => 11
console.log(person.1); // => 报错,SyntaxError语法错误
- 获取属性名对应的属性值
- 对象.属性名
- 对象.[属性名]
- 如果当前属性名不存在,默认的属性值是undefined
- 如果属性名是数字,则能使用‘对象.属性名’的方式来获取属性值
设置属性名属性值
let a = {
a : '1',
b : '2'
};
a.c = '3';
a.a = '4';
console.log(a.c) // => 3
console.log(a.a) // => 4
- 属性名不能重复,如果已经存在不属于新增,属于修改属性值
删除属性
- 彻底删除
将属性彻底删除
let a = {
a = '1',
b = '2',
c = '3'
}
delete a[b]
console.log(a) // => a: '1', c: '3'
- 假删除
属性还在,值为空
let a = {
a = '1',
b = '2',
c = '3'
}
a.c = null/undefined
console.log(a) // => a: '1', b: '2', c: null/undefined
特殊对象
数组
数组为一个特殊的对象
原因:
1.在中括号中写设置的属性值(属性名为默认生成的数字。 从0开始,逐级递增。且这个数字代表的每一项位置,称其为‘索引’ => 从0开始,逐级连续递增,代表每一项位置的数字属性名。)
2.生成自带属性length,生成且储存数组的长度
let ary = [12, xxx, true, 13]
console.log(ary) // => 0:12, 1:xxx, 2:true, 3:13, length: 4
//第一项索引为0, 最后一项索引为length - 1;
向数组末尾添加
ary[ary.length] = 14
console.log(ary) // => 0:12, 1:xxx, 2:true, 3:13, 4:14, length: 5
网友评论