JS基础---对象

212 阅读2分钟

什么是对象?

对象(object):JavaScript里的一种数据类型,可以理解为是一种无序的数据集合。可以详细的描述描述某个事物

对象如何使用?

    <script> 
		let 对象名 {}
    </script>
对象的组成部分
  1. 属性:信息或叫特征(名词)。 比如 手机尺寸、颜色、重量等…

  2. 方法:功能或叫行为(动词)。 比如 手机打电话、发短信、玩游戏…

  3. 访问属性的两种方式

        <script>
             let stu = {
                // 属性
                name:'jack',
                age: 20,
                gender:'男',
    
                // 方法(匿名函数)
                code:function () {
                    console.log('我会煮饭');
                },
                hobby:function () {
                    console.log('我会打球');
                }
            }
    
            // 访问属性的两种方式
            // 1. 点形式  对象.属性  例:stu.name 
            // console.log(stu.age);
             
            // 2.[] 形式   对象['属性']  例:syu['code']
            console.log(stu['code()']); 
            
            // 重点说明:
            // 如果使用[]的时候,属性名称没有添加引号,会当成一个变量
            console.log(stu[age]);
            
            // 假如访问的对象不存在,则会返回undefined
            console.log(stu.sex);
        </script>
    
  4. 注意事项:

  • 属性都是成对出现的,包括属性名和值,它们之间使用英文 : 分隔、
  • 多个属性之间使用英文 , 分隔
  • 属性就是依附在对象上的变量(外面是变量,对象内是属性 例如:age: 33
    <script> 
		let man = {
            gender:'女',
            age:33,
            name:'Jenny',
        }
    </script>

操作对象

对象本质是无序的数据集合, 操作数据无非就是 增 删 改 查 语法

    <script>
        let stu = {
            // 键和值使用: 分隔
            // 每组键值对使用,分隔
            name:'jack',
            age: 20,
            gender:'男',

            // 下面是行为(匿名函数)
            code:function () {
                console.log('我会煮饭');
            },
        }

        // 所谓的修改就是重新赋值:如果属性已经存在,就是修改,如果不存在就是添加

        // 修改
        stu.gender = 90
        // console.log(stu);

        // 添加
        stu.hobby = 'play'
        // console.log(stu);

        // 对象的属性删除
        // delete 对象.你想要删除的属性名称
        delete stu.hobby
        console.log(stu);
    </script>

遍历对象

对象没有像数组一样的length属性,所以无法确定长度。且里面是无序的键值对, 没有规律

    <script>
        // 语法:for(let key/k in 你想要遍历的对象){通过key/k可以获取对象的属性}
        //  k/key 是获得对象的属性名, 对象名[k/key] 是获得 属性值
        // for(let key in stu){
        //     console.log(key);
        // }

        let phone = {
            name:'小米10',
            price:1999,
            size:'5.7英寸'
        }

        for (const key in phone) {
            // 属性名获取
            // console.log(key);
            // 属性值获取
            console.log(phone[key]);
        }
    </script>

内置对象

JavaScript内部提供的对象,包含各种属性和方法给开发者调用,例如:document.write(),console.log()等

  1. 内置对象Math

    • random:生成0-1之间的随机数(包含0不包括1)

    • ceil:向上取整(对整数无效)

    • floor:向下取整

    • max:找最大数

    • min:找最小数

    • pow:幂运算

    • abs:绝对值

    • 常用公式:Math.round( Math.random() * (max - min) + min) )

  2. 案例-循环猜数字

    <script>
        // 随机生成一个1-10的随机数
        let num = parseInt(Math.random() * 10 + 1)
        // 次数不明确,生成死循环
        while (true) {
            // 让用户输入一个数字
            let usr = +prompt('请输入一个数字')
            // 判断条件
            if (usr > num) {
                alert('你猜大了')
            }else if (usr < num) {
                alert('你猜小了')
            }else{
                alert('你猜对了')
                break
            }
        }
    </script>

拓展-基本数据类型和引用数据类型

简单类型又叫做基本数据类型或者值类型,复杂类型又叫做引用类型

  1. 值类型/基本数据类型

    在存储时变量中存储的是值本身,因此叫做值类型,像string ,number,boolean,undefined,null

  2. 复杂数据类型/引用类型

    在存储时变量中存储的仅仅是地址(引用),因此叫做引用数据类型,通过 new 关键字创建的对象(系统对象、自定义对象),如 Object、Array、Date等