day9
①Date()对象(函数)
var d = new Date();
console.log( d ); //Tue Sep 06 2016 09:50:32 GMT+0800
console.log( d.getFullYear() + "-" + (d.getMonth()+1 > 10 ? d.getMonth() : "0" + d.getMonth()) + "-" + (d.getDate()+1 > 10 ? d.getDate() : "0" + d.getDate());
//比较符合国内习惯的年月日显示方式
②倒计时小函数
var total = 5000; //键入要倒计时的总时间
setInterval( function() {
total --; //总时间每秒-1
var h = total>3600 ? parseInt( total/3600 ): "";//判断是否大于1个小时,若小于则不显示
var m = parseInt( total%3600/60 );//分钟数
var s = parseInt( total%3600%60 );//秒数
}, 1000);
③BOM
所谓浏览器对象,就是把整个浏览器看做一个对象,也叫作全局对象。
但凡是内置的,没有前缀的方法,都是window对象的方法。
所有的全局变量、函数等,都属于window对象。
window.navigator;//浏览器信息
window.confirm; //请求确认对话框 ------------阻塞函数,返回boolean
window.console; //控制台日志打印
window.history; //存储了前后访问页地址
window.screen; //屏幕对象
window.prompt; //
/*------eval()-------*/
eval();
//将参数内容作为代码,进行动态的执行。比如js的在线测试工具。
eval("while(1) { alert("你关不掉我!"); }");
⑤定时器
setTimeout
setTimeout( function() {
alert("");
}, 1000);//表示该函数延迟1000毫秒执行
setInterval
setInterval( function() {
alert("");
}, 1000);//表示该函数每1000毫秒执行一次
定时器工作在效果上是异步的。
⑥JS是单线程还是多线程?
浏览器都是单线程的,所有的代码执行都是同步。
当有多个定时器出现时,会交叉生成任务,存入浏览器的任务执行队列当中。
⑦onload事件
页面加载完成后执行
//页面加载完成后执行
<script>
console.log( document.getElementById("ele") );//null
</script>
<body>
<div id="ele"></div>
</body>
⑧onscroll
当滚动条距离发生改变时,执行函数
//滚动条发生变化时执行
<script>
var i = 0;
window.onscroll = function() {
i ++;
console.log(i);//滚动条运动一个单位i增加一次
}
</script>
//显示滚动距离
window.onscroll = function() {
var _top = document.documentElement.scrollTop + document.body.scrollTop;//都只支持一个
console.log( _top );
}
//回到顶部:document.documentElement.scrollTop = document.body.scrollTop = 0;

浙公网安备 33010602011771号