🥳博       主:初映CY的前说(前端领域)

🌞个人信条:想要变成得到,中间还有做到!

🤘本文核心:对象概念、对象的属性与方法的使用、常见的内置对象

目录

前言

一、对象是什么?

二、对象使用

1.声明对象

2.1对象中属性

        对象属性的书写方式:

        对象属性的增删改查操作

2.2对象中方法

        对象方法的书写方式:

        对象属性的增删改查操作

三.对象的相关操作

四.内置对象

                1.1内置对象是什么?

                1.2内置对象Math


前言

  • 理解什么是对象,掌握定义对象的语法 掌握数学对象的使用
  • 掌握数学对象的使用

一、对象是什么?

  • 对象 对象是 JavaScript 数据类型的一种,之前已经学习了数值类型、字符串类型、布尔类型、undefined。
  • 对象数据类型可以被理解成是一种数据集合。它由属性和方法两部分构成。

二、对象使用

1.声明对象

let 对象名={ 这里存放属性与方法}

2.1对象中属性

数据描述性的信息称为属性,如人的姓名、身高、年龄、性别等,一般是名词性的。

  1. 名与值之间使用英文 : 分隔
  2. 多个属性之间使用英文 , 分隔
  3.  属性就是依附在对象上的变量
  4. 属性名可以使用 "" 或 '' ,一般情况下省略,除非名称遇到特殊符号如空格、中横线等。

 对象属性的书写方式:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script>
     /* 数组[]     有序数据集合 
        对象{}      无序数据集合  */


    // 1.对象的声明
    // 方法1:字面量生成对象
    // let 对象名 ={}

    // 方法二.new关键字生成对象
    // let obj = new obj{}


    // 2.对象构成
    // 对象由属性和方法组成
        // 属性由键值对格式组成键值之间用:隔开,属性之间用,隔开。
        let goods = {
            name : 'iPhone14',
            num : 100012816024,
            weight : `0.55kg`,
            address : '中国大陆',
            // 特殊字符的属性名也需要‘’包括起来
            'zhi-zao':'china'
        }

        console.log(goods);

        // 注意点:对象里面的属性名可以理解为变量,属性值相当于给变量赋值。
    </script>
</body>
</html>

对象属性的增删改查操作

 我先定义一个名为goods的对象

javaScript 04 对象的使用_html5

1.查找对象属性        格式:对象名.属性(返回的是属性值)

左侧查语法,右侧页面查看

javaScript 04 对象的使用_html_02

2.修改对象属性        格式:对象名.属性 =新值

javaScript 04 对象的使用_css_03

 控制台查看

javaScript 04 对象的使用_html5_04

3.增加对象属性         格式: 对象名.新属性名=新值

javaScript 04 对象的使用_css_05

 控制台查看

javaScript 04 对象的使用_html5_06

4.删除对象属性         格式: delete 对象名.属性名

javaScript 04 对象的使用_前端_07

控制台查看

javaScript 04 对象的使用_css_08

附上对象属性的增删改查的全部代码与笔记👇

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <script>
        let goods = {
            name: 'iPhone14',
            num: 100012816024,
            weight: `0.55kg`,
            address: '中国大陆',
            // 特殊字符的属性名也需要‘’包括起来
            'produce-where': 'china'
        }
        // 查找对象   对象名.属性       返回的是属性值

        // 特殊属性名写法:[]写属性名
        /* 注意点:中括号一定需要引号才能接收变量名可解析变量,不然就当变量解析!!!
                  点语法解析不了特殊字符*/

        // console.log(goods['name']);
        document.write(goods['name'])
        document.write(goods.name)

        // 修改对象  对象名.属性 =新值
        // goods.num = 10088611

        // 增加对象    对象名.新属性名=新值
        // goods.size = '6.1英寸'
        // document.write(goods)
        // console.log(goods);

        // 删除对象
        // delete goods.weight
        // console.log(goods);

    </script>
</body>

</html>

2.2对象中方法

数据行为性的信息称为方法,如跑步、唱歌等,一般是动词性的,其本质是函数。

  1. 方法是由方法名和函数两部分构成,它们之间使用 : 分隔
  2. 多个属性之间使用英文 , 分隔
  3. 方法是依附在对象中的函数
  4. 方法名可以使用 "" 或 '' ,一般情况下省略,除非名称遇到特殊符号如空格、中横线等

  对象方法的书写方式:

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <script>
        let person={
            name:'初映',
            //书写法则同属性一样 
            sayHi:function(){
                console.log('你好呀~');
            },
            sum:function (x,y){
                return x+y
            }
    }

    </script>
</body>

</html>

对象方法的增删改查操作

我先定义一个对象存放方法:

javaScript 04 对象的使用_css_09

 1.查找对象方法        格式:对象名.方法名()

javaScript 04 对象的使用_javascript_10

 控制台查看

javaScript 04 对象的使用_html5_11

2.修改对象方法        格式:对象名.方法名=function{}

javaScript 04 对象的使用_前端_12

 控制台查看

javaScript 04 对象的使用_html5_13

3.增加对象方法        格式:对象名.方法名=function{}

javaScript 04 对象的使用_css_14

javaScript 04 对象的使用_html_15

      

4.删除操作        格式:delete 对象名.方法名

javaScript 04 对象的使用_html5_16

 控制台查看

javaScript 04 对象的使用_前端_17

附上对象属性的增删改查的全部代码与笔记👇

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <script>
        let person={
            name:'初映',
            //书写法则同属性一样 
            sayHi:function(){
                console.log('你好呀~');
            },
            sum:function (x,y){
                return x+y
            }
    }
    //查 
    // person.sayHi()
    // console.log(person.sum(1,2));


    // 改
    person.sayHi=function(){
        return '我已经把这个值给更改喽!'
    }
    // console.log(person.sayHi());

    // 增
    person.sing =function(){
        console.log('在唱歌');
    }
    // person.sing()

    // 删
    delete person.sing
    console.log(person);

    </script>
</body>

</html>

三.对象的相关操作

1.遍历对象         格式:for(变量 in 对象名){}

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <script>
        let person={
            name:'初映',
            height:184,

            sayHi:function(){
                console.log('你好呀~');
            },
            sum:function (x,y){
                return x+y
            }
    }

    for(let k in person){
        // 这里是访问的属性名
        // console.log(k);
        // k是变量需要[]解析,点语法无法解析,出现的是属性值
        console.log(person[k]);

    }


    </script>
</body>

</html>

控制台查看

javaScript 04 对象的使用_html5_18

 2.拓展:数组使用对象中的遍历方式        格式:for(变量 in 数组名){}

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script>
        let arr = [10,20,30,40,50]
        for (let k in arr){
            console.log(k);
            // 用这个方法输出的是字符串类型的,但是我输出的是数值型,两者类型被改变了
            console.log(arr[k]);

        }
    </script>
</body>
</html>

控制台查看

javaScript 04 对象的使用_css_19

3.数组配合对象渲染数组使用

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script>
        let students = [
            { name: '小明', age: 18, gender: '蓝', hometown: '河北省' },
            { name: '小红', age: 18, gender: '女', hometown: '河南省' },
            { name: '小美', age: 18, gender: '女', hometown: '河北省' },
            { name: '小绿', age: 18, gender: '蓝', hometown: '山东省' }
        ]

        for (let i = 0; i < students.length; i++) {
            console.log(students[i]);
        }
    </script>
</head>

<body>

</body>
</html>

控制台查看

javaScript 04 对象的使用_html_20

四.内置对象

1.1内置对象是什么?

JavaScript内部提供的对象,包含各种属性和方法给开发者调用

我们之前是用过内置对象 ➢  document.write()  ➢ console.log()

1.2内置对象Math

Math对象是JavaScript提供的一个“数学”对象

作用:提供了一系列做数学运算的方法

官方Math文档:Math - JavaScript | MDN (mozilla.org)

web中常用的Math方法:

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

  • ceil:向上取整
  • floor:向下取整
  • max:找最大数
  • min:找最小数
  • pow:幂运算
  • abs:绝对值

下面举几个例子:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script>
        // ceil()向上取整
        console.log(Math.ceil(1.5));//2
        console.log(Math.ceil(-1.5));//-1

        // floor()向下取整 
        console.log(Math.floor(-1.5));//-2
        console.log(Math.floor(1.5));//1

        //max()最大值,字符串会自动转
        console.log(Math.max(10,20,30,'50'));

        // round()四舍五入
        console.log(Math.round(1.5));//2

    </script>
</body>
</html>

1.2.1Math.random随机数使用

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script>
        // 规则:左闭右开[0,1 )
        console.log(Math.random());

        // 获取0-10的随机数
        console.log(Math.floor(Math.random()*11));

        // 获取5-10的随机数
    console.log(Math.floor( Math.random()*6+5));
        

        // 调用网页上的方法

        function getRandom(min, max) {
            min = Math.ceil(min);
            max = Math.floor(max);
            return Math.floor(Math.random() * (max - min + 1)) + min; //含最大值,含最小值
        }

        // 获取90-100的数
        console.log(getRandom(90,100));

    </script>
</body>
</html>

下面是调用Math官方获取区间值的函数生成的

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <script>
        let ra = getRandom(1, 10)
        // 开关思想:flag=true
        for(let i=1;i<=3;i++){
            let val = +prompt("请输入一个1-10的数字")

            if (val > ra) {
                alert('数字大了,继续猜~')
            } else if (val < ra) {
                alert('数字小了,继续猜~')
            }
            else {
                alert('猜对啦~')
                break
            }

            if(val===ra){
                alert('猜对啦~')
                // flag设置为false停止弹框提示
                break
            }
            if(i===3)
            {
                alert('三次机会使用结束~')
            }

            // if(flag){
            //     alert('三次机会使用结束~')
            // }

    }




        function getRandom(min, max) {
            min = Math.ceil(min);
            max = Math.floor(max);
            return Math.floor(Math.random() * (max - min + 1)) + min; //含最大值,含最小值
        }

    </script>
</body>

</html>

1.2.2颜色获取案例(这个很重要)

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        body {
            background-color: #fff;
        }
        div {
            display: inline-block;
            width: 200px;
            height: 200px;
        }
    </style>
</head>
<body>

    <!-- 需求:该函数接收一个布尔类型参数,表示颜色的格式是十六进制还是rgb格式。
    ①:如果参数传递的是true或者无参数,则输出 一个随机十六进制的颜色
    ②:如果参数传递的是false,则输出 一个随机rgb的颜色 -->


    <script>
        
        console.log(getColor(true));

        //document.write()配合循环页面渲染生成多个数据
        for(let i=1;i<60;i++){
            document.write(`<div style =background-color:${getColor(true)}></div>`)
        }

        // 定义方法形参默认为空数组与变量为true(布尔值必须需要变量)
        function getColor(arr=[],flag = true) {
    // 返回16进制,,16进制最小为#000000-#ffffff
            // flag默认是true
            if (flag) {
                let str = '#'
                let arr = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f']
                // 16进制是#+6个数据,下面是产生六个数据,用const index 接收
                for (let i = 1; i < 7; i++) {
                    // 随机数最大值是数组长度-1因为下标从0开始的
                    const index = Math.floor(Math.random() * arr.length)
                    // 数组搭配下标获取数组产生的数据,之后用str接收
                    str = str + arr[index]
                }
                // 这个return必须写在循环外面,不然的话第一次循环遇到了return就结束了循环,每次都是随机产生一个值
                return str
            }
            else {
                // 返回rgb   255是rgb单个元素的取值为0-255
                const r = Math.floor(Math.random() * 256)
                const g = Math.floor(Math.random() * 256)
                const b = Math.floor(Math.random() * 256)
                // 模板字符串拼接输出
                return `rgb(${r},${g}.${b})`
            }
        }
    </script>
</body>

</html>
阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6
标签: JavaScriptJava