关于对象object 调用,遍历对象,随机数等操作说明

141 阅读1分钟

关于对象object的分析说明

1.1 对象是什么

⚫ 对象(object):JavaScript里的一种数据类型

⚫ 可以理解为是一种无序的数据集合

⚫ 用来描述某个事物,例如描述一个人

➢ 人有姓名、年龄、性别等信息、还有吃饭睡觉打代码等功能

➢ 如果用多个变量保存则比较散,用对象比较统一

⚫ 比如描述 小明 信息:

静态特征 (姓名, 年龄, 身高, 性别, 爱好) => 可以使用数字, 字符串, 数组, 布尔类型等表示

动态行为 (点名, 唱, 跳, rap) => 使用函数表示

2.对象的调用

语法:

image.png

image.png

image.png

3.对象的增删改查操作方法

对象的增删改查 案例分析

image.png

4.遍历对象

1.利用for in 遍历对象 key 代表属性名

2.在遍历对象的时候 不能用对象名 .key的这种方式来获取属性值,否则会被认定为未被定义的属性名

遍历对象案例分析

image.png

数学内置对象 Math

Math.random 随机数 (生成0-1之间的随机数 包括0 不包括1)

随机数案例分析:

image.png

 <script>
        // 0 - 10的随机数
        // Math.random() -> [0, 1)
        // Math.random() * 10 -> [0,10)
        // 向下取整 Math.floor()
        // Math.random() * 11 -> [0,11)
        console.log(Math.floor(Math.random() * 11));


        // 5 - 10的随机数
        // 0 - 5的随机数 + 5
        console.log(Math.floor(Math.random() * (5 + 1)) + 5);

        // 3 - 5的随机数 先做 0 - 2的随机数 Math.floor(Math.random() * (2 + 1))+3  


        // min - max 的随机数
        function getRandom(min, max) {
            return Math.floor(Math.random() * (max - min + 1)) + min
        }
        console.log(getRandom(20, 40))

    </script>

生成 m-n 的随机数 Math.floor(Math.random() * (M - N + 1)) + N

Math.ceil 向上取整

Math.floor向上取整

Math.max 找最大数

Math.min 找最小数

Math.abs 绝对值

1.猜数字游戏案例

image.png

<script>
        // 随机数
        function getRandom(min, max) {
            return Math.floor(Math.random() * (max - min + 1)) + min
        }
        // 声明一个当前游戏的数字答案
        let res = getRandom(1, 100)

        // 声明变量 如果是错的 就继续执行循环
        let isWrong = true

        //用while是不知道要循环几次,用for是明确循环次数
        while (isWrong) {
            let num = +prompt('请您输入数字')

            // 判断 分支-> num > res ->您输入的数字太大了  num < res ->您输入的数字太小了
            // num === res 您猜对了可真聪明,跳出循环break; isWrong = false
            if (num > res) {
                alert('您输入的数字太大了,再来一次吧')
            } else if (num < res) {
                alert('您输入的数字太小了,再来一次吧')
            } else if (num === res) {
                alert('您猜对了可真聪明')
                // 退出循环
                break
                // isWrong = false
            }
        }
    </script>
2.随机点名不重复的案例分析

image.png

    <script>
        // 随机数
        function getRandom(min, max) {
            return Math.floor(Math.random() * (max - min + 1)) + min
        }
        // 声明一个数组
        let arr = ['赵云', '黄忠', '关羽', '张飞', '马超', '刘备', '曹操']

        // 生成1个随机数 作为数组的索引号
        let random = getRandom(0, arr.length - 1)
        // console.log(random)
        document.write(arr[random])

        // 之后删除这个 人的名字
        // arr.splice(从哪里开始删, 删几个)
        arr.splice(random, 1)
        console.log(arr);
    </script>

堆栈空间分配区别

1、简单数据类型存放到栈里面:数字,字符串,布尔值,未定义,空. 值类型变量的数据直接存放在变量(栈空间)中

2、引用数据类型存放到堆里面: arr,object,function 引用类型变量(栈空间)里存放的是地址,真正的对象实例存放在堆空间中

image.png