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;
posted @ 2016-09-07 09:40  Asambojur  阅读(135)  评论(0)    收藏  举报