Math对象和日期对象的使用(JavaScript)

(一)Math对象的使用

1.Math对象用来对数字进行数学相关的运算,可以直接使用其静态属性和静态方法,读者可以直接在控制台中执行代码(代码如下)

 <script>
        //获取圆周率
        Math.PI;
        //获取绝对值
        Math.abs(-1);
        Math.abs('-11');
        //获取最大值
        Math.max(1,2,3,4,5);
        //获取最小值
        Math.min(1,2,3,4,5);
        //获取2的4次幂
        Math.pow(2,4);
        //获取x的平方根
        Math.sqrt(9);
        //向上取整(舍弃小数部分呢,整数部分 +1)
        Math.ceil(1.9);
        //向下取整(舍弃小数部分,整数部分不变)
        Math.floor(1.1);
        //四舍五入
        Math.round(1.5);
        //四舍五入
        Math.round(-1.6);
    </script>

在控制台执行代码如下:

2.案例 生成指定范围的随机数

由于Math.random()返回的这个随机数不太常用,我们可以借助一些数学公式来转换成任意范围内的随机数,公式为:Math.random()*(max-min)+min ,表示生成大于或者等于min且小于max的随机数,(代码如下)

<script>
        Math.random()*(3-1)+1;//1<=返回结果<3
        Math.random()*(20-10)+10;//10<=返回结果<20
        Math.random()*(99-88)+88;//88<=返回结果<99
</script>

上述代码的返回结果是浮点型,当需要获取整数结果时,可以搭配 Math.floor()来实现,下面我们通过代码演示如何获取1-10范围内的随机整数,返回结果可能是1-10中的任何一个(代码和结果如下)

<script>
        function getRandom(min,max){
            return Math.floor(Math.random()*(max-min+1)+min)
        }
        console.log(getRandom(1,10));
    </script>

 2.案例 猜数字游戏

使程序随机生成一个1-10之间的数字,并让用户输入一个数字,判断这两个数的大小,如果用户输入的数字大于随机数,那么提示“你猜大了”,如果用户输入的数字小于随机数,那么提示“你猜小了”,如果两个数相等,就提示“恭喜你,猜对了”。(代码和结果如下)

 <script>
        function getRandom(min,max){
            return Math.floor(Math.random()*(max-min+1)+min);
        }
        var random=getRandom(1,10);
        while(true){
            var num=prompt("猜数字,范围在1-10之间。");
            if(num>random){
                alert('你猜大了');
            }else if(num<random){
                alert('你猜小了');
            }else{
                alert('恭喜你,猜对了');
                break;
            }
        }
    </script>

 (二)日期对象的使用

1.JavaScript中的日期对象需要使用new Date()实例化对象才能使用,Date()是日期对象的构造函数。在创建日期对象时,可以为Date()构造函数传入一些参数,来表示具体的日期,创建方法如下:

 <script>
        //方法一:使用当前系统的当前时间作为对象保存的时间
        var date1=new Date();
        console.log(date1);
        //方法二:年 月 日(0-1,真实月份-1) 日 时分秒
        var date2=new Date(2023,03,13,11,15,42)
        console.log(date2)
        //方法三:传字符串表示日期和时间
        var date3=new Date('2023-03-13 11:15:42')
        console.log(date3)
    </script>

2.Date对象的get方法(代码如下):

<script>
        function getDate(){
            var arr=['星期一','星期二','星期三','星期四','星期五','星期六','星期日']

            var date=new Date();
            console.log(date);
            //获取年份
            console.log(date.getFullYear())
            //获取月份
            console.log(date.getMonth()+1)
            //获取日
            console.log(date.getDate());
            //获取天
            console.log(date.getDay());
            //获取星期几
            console.log(arr[date.getDay()]);

            return str=date.getFullYear()+'年'+(date.getMonth()+1)+'月'+date.getDate()+'日'+' '+arr[date.getDay()]
        }
        var res=getDate();
        console.log(res)
    </script>

3.案例 统计代码执行时间

 <script>
        //方法1:通过日期的对象valueOf()或getTime()方法
        var date1=new Date();
        console.log(date1.valueOf());
        console.log(date1.getTime());

        //方法2:使用“+”运算符转换成数值型
        var date2=+new Date();
        console.log(date2);
        //方法3:使用HTNL5新增的Date.now()方法
        console.log(Date.now())
    </script>

 

4.案例 倒计时

<script>
        function countDown(time){
            var nowTime=+new Date();
            var inputTime=+new Date(time);
            var times=(inputTime-nowTime)/1000;
            var d=parseInt(times/60/60/24);
            d=d<10?'0'+d:d;
            var h=parseInt(times/60/60%24);
            h=h<10?'0'+h:h;
            var m=parseInt(times/60%60);
            m=m<10?'0'+m:m;
            var s=parseInt(times/60%60);
            s=s<10?'0'+s:s;
            return d+'天'+h+'时'+m+'分'+s+'秒';
        }
        console.log(countDown('2019-10-22 10:56:57'));
    </script>

 

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值