day08 Math Date 定时器(彩虹条、时间戳、循环/延时定时器、时间差、电子时钟)

这篇笔记介绍了JavaScript中的Math类和Date对象的使用,包括随机数生成、彩虹条制作、时间戳计算、日期设置以及循环和延时定时器的应用。还展示了如何创建一个简单的电子时钟。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

前言

一、Math

二、生成一个区段的随机数

三、做一个彩虹条:

四、 Date

属性

获取时间

 标准日期格式

时间戳

设置日期

计算两个时间差

循环定时器 

延时定时器

电子时钟


前言

      本篇笔记重点介绍Math类,Dtae类创建与使用,以及定时器的应用

一、Math

Math类型不可以创建对象的

所有的属性和方法都是通过类名直接调用的

1.Math.floor:向下取整

2.Math.ceil:向上取整

3.Math.round:四舍五入取整

4.Math.sqrt:开方

5.Math.pow(m,n):返回m的n次方

6.Math.min(1,-2,3,4):返回较小值

7.Math.max(1,-2,3,4):返回较大值

8.Math.abs:返回绝对值

9.Math.random:返回0-1的随机数

二、生成一个区段的随机数

function randNum(min,max){
        var rand=Math.round((Math.random()*(max-min)+min));
        return rand;
    }

三、做一个彩虹条:

// 1,生成随机颜色

    // var color='#'

    // var str='123456789abcdef';

    // for(var i=0;i<6;i++){

    //  color+=str.charAt(randNum(0,15))

    // }

    // document.write(color)

    // 2.将生成的颜色赋给某个li

    // var oLi=document.getElementById("")

    // oLi.style.backgroundColor=color;

    // 注意:通过js对象.属性值的方式操作html元素

    // 所有css单词拼接的书写形式,在js中全部改为把-去掉,后面单词首字母大写

    // 3.批量获取元素

    // document.getElementsByTagName('标签名'):返回标签名所对应的数组。(将html里所有这个元素获取,且按照从上到下的顺序组成数组)

    // var oLi=document.getElementsByTagName("li"); 

四、 Date

属性

    // var date = new Date();获取当前日期

    // console.log(date);

    // getFullYear获取年

    // console.log(date.getFullYear());

    // //getMonth 0~11获取月

    // console.log(date.getMonth());

    // //getDate获取天

    // console.log(date.getDate());

    // //getDay 0~6获取星期

    // console.log(date.getDay());

    // //getHours获取小时

    // console.log(date.getHours());

    // //getMinutes获取分

    // console.log(date.getMinutes());

    // //getSeconds或许秒

    // console.log(date.getSeconds());

获取时间

var date = new Date();

    

    function dateToString(d){

        var _y = d.getFullYear();

        var _m = toTwo(d.getMonth()+1);

        var _d = toTwo(d.getDate());

        var _h = d.getHours();

        var _mm = d.getMinutes();

        var _s = toTwo(d.getSeconds());

        var _w = d.getDay();

        

        var week = ["星期日","星期一","星期二","星期三","星期四","星期五","星期六"];

        

        var str = _y+"年"+_m+"月"+_d+"日 "+_h+":"+_mm+":"+_s+" "+week[_w];

        

        return str;

    }

    指定时间宽度,即让时间为两位数和一位数宽度一样,让一位时间变为0+时间

    function toTwo(v){

        return v<10?"0"+v:v;

    }

    

    console.log(dateToString(date));

    

    //按照本地日期格式输出函数

    console.log(date.toLocaleString());

 标准日期格式

    //var date = new Date(标准日期格式字符串);

    //标准日期格式字符串:"YYYY-MM-DD,HH:mm:ss"

    //var date = new Date("2021-09-08,11:18:22");

    //console.log(date.toLocaleString());

时间戳

    //时间戳:某个日期对象距离1970年1月1日0:0:0相差的毫秒数

    //Date.parse(日期格式字符串):返回参数距离1970年1月1日相差的毫秒数

    //var x = Date.parse("2021-09-08,11:18:22");

    //console.log(x);

设置日期

var date=new Date();

//date.setHours(12);

date.setHours(date.getHours()+5);

date.setHours(date.getDate()+5);

//日期对象与数字相加时,为左操作的单位。比如小时后面加几小时。

计算两个时间差

var date1=new Date();

var date2=new Date("1941-03-25");

Math.round(date1-date2)/1000/60/60/24));计算出今天距离1941-03-25的天数

循环定时器 

setInterval(回调函数,时间间隔):返回值为关闭定时器的钥匙

clearInterval(定时器钥匙)

var count=0;

var time=setInterval(function(){

        console.log(count++);

        if(count==5){

        clearInterval(time);

        }

},1000);

延时定时器

setTimeout(回调函数,时间间隔):返回值为关闭定时器的钥匙

setTimeout(function(){

 console.log("boom!");

},3000);

1000ms=1s

这里的时间单位都是ms,最小为50

电子时钟

<body>

        <input type="text" value="电子时钟" id="time"/>

</body>

<script>

        setInterval((function){

                var date=new Date();

                var oInput=document.getElementbyId("time");获取html元素

                oInput.value=date.getHours()+":"+date.getMinutes()+":"+date.getSeconds();

        },1000);//一秒获取一次

</script>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值