对象:是js照片那个一种复合数据类型
创建对象
- new Object()
- let obj = {name:‘’}
添加属性
对象.属性名 = 属性值
属性名
- 通常是一个字符串,没有特殊要求
- 如果很特殊,就用[]来设置
- 建议属性名要符合标识符规范
属性值
可以是任意的数据类型,也可以是一个对象
读取属性
语法:obj.属性名
let obj = Object()
obj.name = '老焦'
obj.age = 21
obj.sex = '男'
对象中仍然可以创建对象
let person = {
name: '老焦',
age: 21,
gender: '男',
hobby: {
a: '散步',
b: '听歌'
}
}
需要注意的是
let str = 'name'
obj[str] = '老焦' // []可以传变量 但属性名是变量的值‘hobby’
obj.str = '小焦' // 此时str是字符串
for-in语句
获取对象中所有的属性
for(let 属性名变量 in 对象) {
语句
}
执行流程
- 根据属性个数执行多次
- 每次执行,就把属性名赋值给所定义的变量propName
内存结构
- 如果两个变量同时指向一个对象
- 如果通过一个变量修改了对象,另一个变量也受影响
开发中声明对象通常用const赋值只有一次,对象可以修改
const obj = {}
obj.name = '老焦'
console.log(obj);