JS基础知识点:对象Object(拓展知识点:对象合并以及对象和数组合并 /for in ,for of的区别)

【简单的JS知识点,复习用】

1.对象是什么?

对象是一个无序的元素集合

2.声明对象

声明对象有两种方式:
(1)、字面量声明

        //字面量声明
        let obj={
            name:'张三',
            age:18,
            sex:'男'
        }

(2)、构造函数声明

        //构造函数声明
        let obj=new Object({
            name:'张三',
            age:18,
            sex:'男'
        })
        console.log(obj);

拓展:如果想声明一个没有原型链的对象

        //声明一个没有原型链的对象
        var obj = Object.create(null)
        console.log(obj);
        //create是在原型上修改
        var obj = Object.create({ a: 1, b: 2, c: 3 })
        console.log(obj);

3.对象的取值

对象有两种取值方式:
(1)、对象.属性名

       let obj = {
            a: 1,
            b: '张三',
            c: 3
        }
        console.log(obj.a);//1

(2)、对象[‘属性名’]

       let obj = {
            a: 1,
            b: '张三',
            c: 3
        }
        console.log(obj['b']);//张三 
         var aaa = 'b'
        console.log(obj[aaa]);//张三

4.循环遍历对象

(1)for in 循环
for in 可以循环对象和数组,循环出来的是对象键值对中的键,数组中的元素下标

       let obj = {
            name: '李四',
            age: 29,
            sex: "男"
        }
        for (let key in obj) {
            console.log(key);//name age sex
        }

for of 可以循环数组,不可以循环对象,循环出来的是数组元素

        var arr = [1, '王武', 2222, '男']
        for (let item of arr) {
            console.log(item);// 1 王武 2222 男
        }

(2)、使用 Object .keys 取出key值进行循环

        let obj = {
            name: '李四',
            age: 29,
            sex: "男"
        }
        console.log(Object.keys(obj));//['name', 'age', 'sex']
        Object.keys(obj).forEach(item=>{
            console.log(item,obj[item]);
        })

5.对象合并 对象与数组合并

合并使用方法:Object.assign(目标对象,要合并的对象)

        //对象合并
        let obj = {
            name: '赵六',
            age: 18
        }
        let obj1 = {
            sex: '男'
        }
        Object.assign(obj, obj1)
        console.log(obj);//{name: '赵六', age: 18, sex: '男'}
        //对象与数组合并
        let arr = [1, 2, 3]
        Object.assign(obj, arr)
        console.log(obj);//{0: 1, 1: 2, 2: 3, name: '赵六', age: 18, sex: '男'}
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值