第九课 课程重点(js语句:获取时间、数字取值、定时器)

jq与js的关系】:jq是对js常用的方法进行封装、简化和优化。

小技巧】ctrl+k+D :VS写代码格式乱了时,整理代码用的快捷键

------------------------------------------------------------------------------------------------------

1、获取时间:

方法

描述

getFullYear()

返回四位数的年份

getMonth()

返回月份(从0开始,1月=0,2月=1,...)

getDate()

返回日期(从1开始,此时日期)

getDay()

返回星期几(周日=0,周一=1,...)

getHours()

返回小时数(从0开始,此时小时数)

getMinutes()

返回分钟数(从0开始,此时分钟数)

getSeconds()

返回秒数(从0开始,此时秒数)

getMilliseconds()

返回毫秒数(从0开始,此时毫秒数)

getTime()

返回从GMT时间1970年1月1日0点0分0秒经过的毫秒数(86400000毫秒=1天)

  1)写法:

  function MyClick()
  {
    var myDate=new Date();
    alert(myDate.getDay());
  }

  2)获取个设定日期之间的天数:

复制代码
<html>
<head>
<title>Date对象</title>
<script language="javascript">
var startStr = "2014-4-14";
var endStr = "2014-5-1";
var startArray = startStr.split("-");
var endArray = endStr.split("-");
var startDate = new Date(startArray[0], startArray[1] - 1, startArray[2]);
var endDate = new Date(endArray[0], endArray[1] - 1, endArray[2]);
var diffDays = (endDate - startDate) / 86400000;
alert(diffDays); 
</script>
</head>
<body>
</body>
</html>
复制代码

2、数值取值:

  取最大值:Math.max(18,12,22,33)

  取最小值:Math.min(18,2,2,3,1)

  向上舍入:Math.ceil(25.9)       //它把数字向上舍入到最接近的整数

  向下舍入:Math.floor(25.6)

  四舍五入:Math.round(25.6)

  0~1之间的随机数:Math.random()   //不包括0和1

  【例子】

  返回1~100之间的整数包括1和100:  variNum=Math.floor(Math.random()*100+1)

3、window窗口

  1) 打开一个窗口:window.open("http://www.baidu.com", "_blank", "height=300,width=400,top=30,left=140,resizable=yes");

    resizable 是否能通过拖动来调整新窗口的大小 默认为yes

    scrollable 新窗口是否显示滚动条 默认为no 

  2) 关闭新建的窗口:window.close()

  3) window.history.go(-1) //浏览器后退一页

    window.history.go //前进一页

4、定时器实例

  1)隔5秒后打印aaaa:

setTimeout(function(){
    alert("aaaa");
},5000);

  *setTimeout() 方法用于在指定的毫秒数后调用函数或计算表达式。

  效果:5秒后弹出框显示 aaaa,不会循环重复。

  2)每隔2秒打印一次数字:

var i=0;
setInterval(function(){
    i++;
    document.write(i);
},2000);

  *setInterval() 方法可按照指定的周期(以毫秒计)来调用函数或计算表达式。

  效果:每隔2秒,依次打印1、2、3、4、5……,看到的界面是:123456789101112……

  3)每隔2秒打印一个数,到10为止:

复制代码
var i=0;
var timer=setInterval(function(){
    i++;
    if(i==10)
    {
        clearInterval(timer);
    }
    document.write(i);
},2000);
复制代码

  *clearInterval() 方法可取消由 setInterval() 设置的 timeout。

  效果:只打印到10为止,界面:12345678910

  4)每隔1秒,打印1到10再回到1:

复制代码
var i=0;
var b=true;
var timer=setInterval(function(){
    if(b)
    {
        i++;
    }
    if(b==false){
        i--;
        if(i==1)
        {
            clearInterval(timer);
        }
    }
    if(i==10)
    {
        b=false;
    }
    document.write(i);
},1000);
复制代码

  *提示:停止定时器只能用clearInterval()方法来停掉,用return等无法停止定时器,定时器会一直存在直到clearInterval()出现为止。

  5)产生1-100之间随机整数,给5次机会看能不能猜对:

复制代码
var iNumber=Math.floor(Math.random()*100+1);          //产生一个1-100之间的随机整数作为中奖号码
for(var i=1;i<7;i++){
    if(i==6){
        alert("五次机会用完了,中奖号码是:"+iNumber);
        return;
    }
    else{
        var sInput=prompt("请输入1-100之间的一个整数");
        var nInput=Number(sInput);
        if(isNaN(nInput)){                              //判断输入的是不是数字
            alert("你输入的不是一个数字");
        }
        else{
            if(nInput=parseInt(nInput)){              //判断输入的是不是整数
                if(nInput>100||nInput<1)
                {
                    alert("输入的内容不再1-100之间");
                }
                else{
                    if(nInput>iNumber)
                    {
                        alert("你输入的内容太大");
                    }
                    if(nInput<iNumber)
                    {
                        alert("你输入的内容太小");
                    }
                    else
                    {
                        alert("恭喜你中奖了!");
                        return;
                    }
                }
            }
            else{
                alert("你输入的不是一个整数");
            }
        }
    }
}
原文地址:https://www.cnblogs.com/mmtk/p/4669426.html