js对象学习基础

六、对象

万物皆对象

创建对象

1、字面量创建

let obj = {};

2、构造函数

let obj = new Object();

对象初始化

键:属性名 值:属性值

变量称为属性;函数称为方法

let obj = {
	属性名1 : 属性值1 ,
	属性名2 : 属性值2 ,
	..
    属性名n : 属性值n
}

增删改查

1、增加/修改

对象名.属性名=xxx;

对象名['属性名']=xxx; 因为属性名是一个字符串

对没有的属性名,对象会自动创建一个然后输出undefined,然后立马销毁

Symbol

功能:避免在新增时,更改原有的属性或方法,可以使用Symbol(唯一性)来创建

2、查找

console.log(对象名.属性名);

console.log(对象名['属性名']);

3、删除

delete 对象名.属性名; 删除方法也不需要加小括号;

遍历

let computer = {
    name: `ASUS`,
    size: 15.6,
    type: `游戏本`,
    weight: `2kg`,
    temp: [1, 2, 3],
    listen: function () {
        console.log(`听歌`);
    },
    internet: function () {
        console.log(`上网`);
    }
}
//遍历属性名
for (let index of Object.keys(computer)){
    console.log(index);
}
//遍历属性值
for (let items of Object.values(computer)){
    console.log(items);//如果是方法会输出[Function: listen]
}
//遍历键值对,每一对用数组显示
for (let items of Object.entries(computer)){
    console.log(items);
}

this

this在对象中,代表当前对象

let phone = {
    name: 'HW',
    size: 5.0,
    price: 923,
    huafei:50,
    call: function (){
        console.log('打电话');
        this.huafei--;
    },
    add:function(){
        console.log('充话费');
        this.huafei++;
    }
}
phone.call();
console.log(phone.huafei);//49

对象的解构

当左侧需要的属性名与自己定义的变量名一致时,可以缩写为一个名字

let obj={
    name:'lyw',age:15,gender:true
}
//实际为
let {name:name,age:age}=obj;
//缩写为
let {name,age}=obj;
console.log(name,age);//lyw 15
//如果不一致如下
// let {name:f71,age:f72}=obj;
// console.log(f71,f72);//1yw 15

//常用实例 参数顺序可以不考虑
function jieshao({age,name,gender}){
    gender = gender ? '男性' : '女性';
    console.log(`我叫${name},今年${age},${gender}`);
}
jieshao(obj);//我叫lyw,今年15,男性

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值