目录
说明:对象(object) 是js里面的一种数据类型 可以理解为一种无序的数据集合
说明:对象(object) 是js里面的一种数据类型 可以理解为一种无序的数据集合
对象的声明:
let 对象名 = {}
//声明了一个 person 对象
let person = {}
对象的使用
对象有属性和方法组成
属性(对象的静态体征)
方法(对象的动态行为)
let 对象名 = {
属性名:属性值,
方法名:函数
}
let person ={
uname : '小明',
age : 18,
fn : function(){},
sayHi : function(){}
}
属性和方法都是成对出现的,包括属性名和值,它们之间使用英文 : 分隔多个属性之间使用英文 , 分隔
方法是依附在对象中的函数
属性就是依附在对象上的变量(外面是变量,对象内是属性)
属性名可以使用 "" 或 '',一般情况下省略,除非名称遇到特殊符号如空格、中横线等
操作对象
对象本质是无序的数据集合, 操作数据无非就是
增 删 改 查
查:
属性访问:
点形式: 对象.属性
[] 形式: 对象[‘属性’]
let person ={
uname : '小明',
age : 18,
fn : function(){},
sayHi : function(){}
}
console.log(preson.uname)
//或者
console.log(preson['age'])
区别:点后面的属性名一定不要加引号,[] 里面的属性名一定加引号,不同使用场景会用到不同写法
方法访问:
使用 . 调用对象中函数,称之为方法调用。千万别忘了给方法名后面加小括号
let person ={
uname : '小明',
age : 18,
fn : function(){},
sayHi : function(){}
}
//对象名.方法名()
person.fn()
person.sayHi()
注意:对象方法可以传递参数,跟函数使用方法基本一致
改(重新赋值):
对象.属性 = 新值
对象.方法 = function( ) {}
当对象中有这个属性或者方法时会重新赋值,此时就把属性或者方法的值进行修改了
let goods = {
cpfqweee:function(){
console.log('旧值');
},
}
// 修改 变量名.方法 = function(){}
goods.cpf = function(){
console.log('新值进行覆盖');
}
console.log(goods);
增:
对象名.新属性名 = 新值
注: 无论是属性或是方法,同一个对象中出现名称一样的,后面的会覆盖前面的
// 创建一个空对象
let goods = {
}
// 动态的 给对象添加 属性
goods.uname = '小明'
goods.age = '21'
goods.weight = '60kg'
goods.sex = '男'
// 动态的 给对象添加 方法
goods.speak = function(){
console.log('talk')
}
goods.speak()
console.log(goods);
删:
delete 对象名.属性名
let obj = {
uname:'梅西',
age : '36',
sex : '男',
}
// 删除对象
delete obj.age //(了解)
console.log(obj);
遍历对象
对象没有像数组一样的length属性,所以无法确定长度 对象里面是无序的键值对, 没有规律. 不像数组里面有规律的下标,
方法: for in
let obj = {
uname:'梅西',
age : '36',
sex : '男',
}
// 遍历对象使用 for in
// k可以随便设置
for(let k in obj){
// 遍历属性名 获得属性名
console.log(k);
// 遍历属性值 获得属性值
console.log(obj[k]);
}
k
是获得对象的
属性名
,
对象名[k]
是获得
属性值