对象分类、Math、Date对象、日期格式化

对象

  • 基础类型
    number 、string、 boolean、 null 、undefined
  • 引用类型
    数组、 函数 、对象

对象是指一个具体的事物。万物皆对象。

一个具体的事物一般都会有行为和特征。

  • 对象的行为------js对象的函数
  • 对象的特征------js对象的属性

eg: 手机:
行为:打电话 聊微信 玩和平精英 刷新闻
特征:颜色 屏幕分辨率 摄像头像素

JavaScript中的对象

  • JavaScript中的对象可以看做生活中具体事物的抽象。
  • js对象是属性+函数的集合。
  • 属性:可以是基本数据类型,也可以是引用数据类型。

创建一个对象

1.使用new关键字类创建
2.使用字面量
eg:

    <script>
        // 使用new关键字类新建一个对象。
        var hero = new Object();
        // 使用字面量新建一个对象。
        var hero = {

        };
    </script>

新增属性

eg:

    <script>
        // 使用new关键字类新建一个对象。
        var hero = new Object();
        // 新增属性
        hero.heroName = "韩信";
        hero["age"] = "30";
        // 使用属性
        alert(hero.heroName);
        alert(hero["age"]);
    </script>

使用属性

对象名.属性名

    <script>
        // 使用new关键字类新建一个对象。
        // 使用new关键字类新建一个对象。
        var hero = new Object();
        // 新增属性
        hero.heroName = "韩信";
        hero["age"] = "30";
        // 使用属性
        alert(hero.heroName);
        alert(hero["age"]);
    </script>

新增方法

对象名.属性名=function(){
函数体
};
eg:


    <script>
        // 使用new关键字类新建一个对象。
        var hero = new Object();
        // 新增属性
        hero.heroName = "韩信";
        hero["age"] = "30";
        // 使用属性
        alert(hero.heroName);
        alert(hero["age"]);
        // 新增方法
        hero.skillTwo = function () {
            console.log("对方对你使用了二技能");
        };
        hero.skillTwo();
    </script>

对象的分类

1.内建对象

  • 由ES标准定义的对象,在任何ES实现中都可以使用 ( js提供的对)象
  • Math Date String Number Boolean Function Object

2.宿主对象

  • 主要有浏览器提供的对象。
  • BOM DOM

3.自定义对象
开发人员自己定义的对象。

基本类型与引用类型的区别

区别:

  • 基础数据类型的数据存储在栈中,变量直接指向的是基础数据类型的值。
  • 引用数据类型的数据存储在堆中,变量指向的是引用数据类型的地址。

比较:

  • 基本数据类型比较时,比较值。
  • 而引用数据类型比较时,比较内存地址,如果内存地址相同,指向了同一个对象,则相等,否则不相等。
    eg:
    <script>
        var hero = {
            "hName": "亚索",
            "R": "狂风绝息斩"
        }
        var hero2 = hero;
        hero.R = "阿里亚克痛";
        alert(hero.R);
        alert(hero2.R);
        alert(hero == hero2);
    </script>

eg:

    <script>
        var hero = {
            "hName": "亚索",
            "R": "狂风绝息斩"
        }
        var hero2 = {
            "hName": "亚索",
            "R": "狂风绝息斩"
        }
        hero.R = "阿里亚克痛";
        alert(hero.R);
        alert(hero2.R);
        alert(hero == hero2);
    </script>

Math

Math对象 : 提供了很多关于运算的方法。

Math.random()

Math.random(); 返回0-1之间的随机数。

    <script>
        // 返回0-1之间的随机数
        alert(Math.random());
        // 返回3-7之间的随机数(整数)
        alert(parseInt(Math.random() * 4) + 3);
    </script>

假如我们需要一个n-m之间的数。
Math.round(Math.random()*(m-n))+n

    <script>
        //  返回3-6之间的随机数。
        alert(Math.round(Math.random() * 3) + 3);
    </script>

Math.round() 四舍五入

    <script>
        //  四舍五入
        alert(Math.round(6.1));
    </script>

Math.max() 返回最大值

    <script>
        //  返回最大值
        alert(Math.max(11, 55, 7, 78, ));
    </script>

Math.min() 返回最小值

    <script>
        //  返回最小值
        alert(Math.min(11, 55, 7, 78));
    </script>

Math.abs() 返回绝对值

    <script>
        //  返回绝对值
        alert(Math.abs(-254));
    </script>

Math.ceil() 向上取整

    <script>
        //  向上取整
        alert(Math.ceil(5.5));
        alert(Math.ceil(-5.5));
    </script>

Math.floor() 向下取值

    <script>
        // 向下取值
        alert(Math.floor(5.5));
        alert(Math.floor(-5.5));
    </script>

Math.pow(x,y) x的y次方

    <script>
        // x的y次方
        alert(Math.pow(2, 3));
    </script>

Math.sqrt(num) 开平方

    <script>
        // 开平方
        alert(Math.sqrt(9));
    </script>

Math.PI弧度

  Math.PI = 180°  弧度。
  1弧度=Math.PI/180.

Date对象

1.创建日期对象

    <script>
        //  调用构造函数 构造函数的作用:生成对象。
        var d = new Date();
        alert(d);
    </script>

在这里插入图片描述

  • Wed Jan 06 2021 15:28:12 GMT+0800 (中国标准时间)
    星期 月 日 年 时 分 秒 时区
    <script>
        //  调用构造函数 构造函数的作用:生成对象。
        var d = new Date("2021/01/07");
        alert(d);
    </script>

在这里插入图片描述

    <script>
        //  调用构造函数 构造函数的作用:生成对象。
        var d = new Date(2020, 09, 30, 15, 33, 20);
        alert(d);
    </script>

在这里插入图片描述

  • 创建日期对象是,可以指定日期。时分秒若不填写,则默认为00:00:00
    -在国外,月份是从0开始的,0-11
    eg:
    <script>
        var d = new Date(1576800000000);
        alert(d);
    </script>

在这里插入图片描述

日期对象方法

格式:Date.parse(日期对象);
功能:将日期对象转为毫秒数。

    <script>
        // 如果什么参数都不传,默认为当前时间。
        var d = new Date();
        var result = Date.parse(d);
        alert(d);
        alert(result);
    </script>

获取日期

    d.getFullYear() 返回年
    d.getMonth()  获取月份 从0开始  范围为:0-11
    d.getDate()  返回日
    d.getDay()  返回周几。
    d.getHours() 获取小时数
    d.getMinutes() 获取分钟数
    d.getSeconds() 获取秒数
    d.getMilliseconds() 获取毫秒数
    d.getTimezoneOffset()  获取本地时间与格林威治时间的分钟差。
    d.getTime()  获取当前的毫秒数。
    <script>
        var d = new Date();
        alert(d);
        alert(d.getFullYear());
        alert(d.getMonth() + 1);
        alert(d.getDate());
        alert(d.getDay());
        alert(d.getHours());
        alert(d.getMinutes());
        alert(d.getSeconds());
        alert(d.getMilliseconds());
        alert(d.getTime());
        alert(d.getTimezoneOffset());
    </script>

设置日期

    d.setFullYear() 设置年
    d.setMonth() 设置月份 从0开始 范围为: 0 - 11
    d.setDate() 设置日
    d.setDay() 设置周几。
    d.setHours() 设置小时数
    d.setMinutes() 设置分钟数
    d.setSeconds() 设置秒数
    d.setMilliseconds() 设置毫秒数
    d.setTime() 设置当前的毫秒数。
   d.setTimezoneOffset() 设置本地时间与格林威治时间的分钟差。

日期格式化

  • 以特定格式显示 :星期几 月 日 年
    <script>
        var d = new Date();
        // 以特定格式显示 星期几 月 日 年
        alert(d.toDateString());
    </script>

在这里插入图片描述

  • 以特定格式显示 :时分秒 时区
    <script>
        var d = new Date();
        alert(d.toTimeString()); 
    </script>

在这里插入图片描述

  • 以特定格式显示 : 年 月 日
    <script>
        var d = new Date();
        alert(d.toLocaleDateString()); //2021/1/6
    </script>

在这里插入图片描述

  • 以特定格式显示 : 下午时:分:秒
 <script>
        var d = new Date();
        alert(d.toLocaleTimeString()); //下午4:34:58
    </script>

在这里插入图片描述

  • 显示格林威治时间: 星期, 日 月 年 时:分:秒
    <script>
        var d = new Date();
        alert(d.toUTCString());
    </script>

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值