对象相关语法

对象介绍:

 <script>
        // 1、对象是什么:对象是一种复杂数据类型
        // 2、对象作用:以键值对方式存储多个数据
        // 3、对象和数字异同点
        // 相同点:都是复杂数据类型,都可以存储多个数据
        // 不同点:存储方式不同
        // 数组:有序存储
        // 对象:无序存储(键值对)

        // 需求:存储一个人的信息(姓名,年龄,性别)

        // 1、使用基本数据类型
        let name = '班长';
        let age = 18;
        let sex = '男';
        // 好处:阅读性高
        // 弊端:rong冗余

        // 2、使用复杂数据类型-数组
        let arr = ['班长',19,'男']
        console.log(arr);
        // 好处:一个变量储存多个数据
        // 弊端:阅读性不高

        // 3、使用对象
        let obj = { name:'班长',age:45,sex:'男'}
        console.log(obj);
    </script>

对象语法:

</head>
    <!-- 1、声明对象
    let 对象名 = {
        属性名:属性值,
        属性名:属性值,
    }
    2、取值语法
    对象名.属性名 -->
    <script>
        let obj = {
            name:'langs',
            age:18,
           gfs:['大白','小明','大黄'],
           sayHi:function(){
                console.log(111);
           },
        }
        console.log(obj);
        console.log(obj.name);
        console.log(obj.age);
        console.log(obj.gfs);
        console.log(obj.gfs[2]);
        console.log(obj.sayHi);
        console.log(obj.sayHi());

    </script>

 

 

  对象中的属性值是什么数据类型,取出来的时候就可以使用这个类型的所有语法

  对象中的属性值是 数组,则可以:对象名.属性名[下标]

  对象中的属性值是 函数,则可以:对象名.属性名()

对象操作(增删改查):

<script>
        let obj = {
            name:'langs',
            age:19,
            sex:'男'
        }
        
        // 1、查询语法(属性名存在,获取属性值;属性名不存在,获取underfined)
        // 点语法 对象名.属性名
        // []语法 对象名['属性名']
        // 点语法 对象名.属性名
        console.log(obj.name); // langs
        console.log(obj.age); // 19
        console.log(obj.sex); // 男
        console.log(obj.country); // underfined
        // []语法 对象名['属性名']
        console.log(obj['sex']); // 男

        // 2、修改属性
        // 对象名.属性名 = 值
        // 对象名['属性名'] = 值
        obj.name = '彭于晏';
        obj['age'] = 20; 
        console.log(obj); //{name:'彭于晏',age:20,sex:'男'}

        // 3、新增属性
        // 如果对已经存在的属性赋值,则为修改
        // 如果对不存在的属性赋值,则为新增
        obj.hobby = '跑步';
        console.log(obj); // {name:'彭于晏',age:20,sex:'男',hobby:'跑步'}

        // 4、删除对象属性
        // delete 对象名.属性名
        delete obj.age
        console.log(obj); // {name:'l彭于晏',sex:'男',hobby:'跑步'}
    </script>

 

 

对象遍历语法:

 <script>
        // 遍历数组:for循环
        // for(let i = 0; i < arr.length; i++){ arr[i] }
        // 遍历对象:特殊的for-in循环(专门用于遍历对象)    
        //  for(let key in 对象名){对象名[key]}

        let obj = {
            name:'langs',
            age:19,
            sex:'男',
            hobby:'跑步'
        }

        for(let key in obj){
            console.log(key); // 'name' 'age''sex' 'hobby'
            console.log(obj[key]); // '班长' 'langs' '男' '跑步'
        }
    </script>

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值