2015.7.20 第九课 课程重点(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() 设置的定时器循环。
效果:只打印到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("你输入的不是一个整数"); } } } }