object对象数据类型-普通对象
{[key]: [value]}任何一个对象都是由0到多个键值对(属性名: 属性值)组成的(并且属性名不能重复)
let person = {
name: '张三',
age: 40,
height: '185cm',
weight: '75kg',
1: 100
};
// 删除属性
// => 真删除:把属性彻底干掉
delete person[1];
console.log(person); // => null
// => 假删除:属性还在,值为空
person.weight = null;
console.log(person); // => person.weight => null
// 设置属性名属性值
person.GF = '猿'; // 设置新的属性名、属性值
person.name = '李四'; // 属性名不能重复,如果属性名已存在,不属于新增属性值而是属于修改属性值
// 获取属性名对应的属性值
// 方式一: 对象.属性名
console.log(person.name);
// 方式二: 对象[属性名],属性名是数字或者字符串格式的
console.log(person['age']);
// 如果当前属性名不存在,默认的属性值是undefined
console.log(person.sex); // => undefined
// 如果属性名是数字,则不能使用点的方式获取属性值
console.log(person[1]); // => 100
console.log(person.1); // => SyntaxError(语法错误)
数组是特殊的对象数据类型
- 我们中括号中设置的是属性值,它的属性名是默认生成的数字,从零开始递增,而且这个数字代表每一项的位置,我们把其称为“索引” => 从零开始,连续递增,代表每一项位置的数字属性名
- 天生默认一个属性名:length,存储数组的长度
let arr = [12, '哈哈', true, 13];
console.log(arr);
// => [
// 0: 12,
// 1: '哈哈',
// 2: true,
// 3: 13,
// length: 4
//]
// 获取数组中元素的个数
console.log(arr['length']); // => 4
console.log(arr.length); // => 4
console.log(arr[1]); // => '哈哈'
// 向数组中最后一项添加内容
arr[arr.length] = 100;
arr.push(100);