概念:
1、JavaScript里的一种数据类型
2、无序的数据集合
3、用于描述对象的抽象特性集合
4、信息分类:静态特征(基本属性)、动态行为(函数动作)
使用:
1、声明语法:let 对象名 = { key-value }
PS:
json对象也为key-value类型数据
属性名可以使用“ ”或“,一般情况下省略,除非遇到特殊符号如:空格、中横线 例如
let person = {
name: '张三',
age: 18,
sex: '男,
putData: function(){
//匿名函数
console.log(this.name,this.age,this.sex)
console.log(this['name'],this['age'],this['sex']
}
}
属性访问:object.key object['key']
2、操作对象
一、查询属性
object.key object['key']
当key中出现运算符等关键字时可以使用['key']来规避错误
二、修改属性
object['key'] = "new"
object.function = function(){}
三、增加属性
//不同于json添加数据
let person = {
key : "value"
}
person.hobby = '足球'
person['sex'] = '男'
四、删除属性
let person = {
key : 'value'
}
//删除语句
delete person.key
3、遍历对象
PS:
1、object中没有length属性,所以无法通过object.length来确定内部属性个数
2、object内部为无序(按key的ASCII来排序显示)列表;没有规律下标
使用 key in object方式来遍历对象
取出的只为keyName(string)
for(let keyName in object){
console.log(keyName)
console.log(object[keyName])
}
1、keyName为string类型,无法通过object.keyName来引用
2、区分object['keyName']与object[keyName]的区别
(提示:字符类型与变量类型)