美文网首页
定时器 类型转换 封闭函数

定时器 类型转换 封闭函数

作者: 我的好昵称 | 来源:发表于2019-01-08 18:44 被阅读0次

    定时器
    定时器在javascript中的作用
    1、制作动画
    2、异步操作
    3、函数缓冲与节流

    定时器类型及语法

    /*
    定时器:
    setTimeout 只执行一次的定时器
    clearTimeout 关闭只执行一次的定时器
    setInterval 反复执行的定时器
    clearInterval 关闭反复执行的定时器

    */

    var time1 = setTimeout(myalert,2000);
    var time2 = setInterval(myalert,2000);
    /*
    clearTimeout(time1);
    clearInterval(time2);
    */
    function myalert(){
    alert('ok!');
    }
    定时器制作时钟

    <script type="text/javascript">
    window.onload = function(){
    var oDiv = document.getElementById('div1');
    function timego(){
    var now = new Date();
    var year = now.getFullYear();
    var month = now.getMonth()+1;
    var date = now.getDate();
    var week = now.getDay();
    var hour = now.getHours();
    var minute = now.getMinutes();
    var second = now.getSeconds();
    var str = '当前时间是:'+ year + '年'+month+'月'+date+'日 '+toweek(week)+' '+todou(hour)+':'+todou(minute)+':'+todou(second);
    oDiv.innerHTML = str;
    }
    timego();
    setInterval(timego,1000);
    }

    function toweek(n){
        if(n==0)
        {
            return '星期日';
        }
        else if(n==1)
        {
            return '星期一';
        }
        else if(n==2)
        {
            return '星期二';
        }
        else if(n==3)
        {
            return '星期三';
        }
        else if(n==4)
        {
            return '星期四';
        }
        else if(n==5)
        {
            return '星期五';
        }
        else
        {
            return '星期六';
        }
    }
    
    
    function todou(n){
        if(n<10)
        {
            return '0'+n;
        }
        else
        {
            return n;
        }
    }
    

    </script>
    ......
    <div id="div1"></div>
    定时器制作倒计时

    <script type="text/javascript">
    window.onload = function(){
    var oDiv = document.getElementById('div1');
    function timeleft(){
    var now = new Date();
    var future = new Date(2016,8,12,24,0,0);
    var lefts = parseInt((future-now)/1000);
    var day = parseInt(lefts/86400);
    var hour = parseInt(lefts%86400/3600);
    var min = parseInt(lefts%86400%3600/60);
    var sec = lefts%60;
    str = '距离2016年9月12日晚24点还剩下'+day+'天'+hour+'时'+min+'分'+sec+'秒';
    oDiv.innerHTML = str;
    }
    timeleft();
    setInterval(timeleft,1000);
    }

    </script>
    ......
    <div id="div1"></div>

    类型转换
    1、直接转换 parseInt() 与 parseFloat()

    alert('12'+7); //弹出127
    alert( parseInt('12') + 7 ); //弹出19
    alert( parseInt(5.6)); // 弹出5
    alert('5.6'+2.3); // 弹出5.62.3
    alert(parseFloat('5.6')+2.3); // 弹出7.8999999999999995
    alert(0.1+0.2); //弹出 0.3000000000000004
    alert((0.1100+0.2100)/100); //弹出0.3
    alert((parseFloat('5.6')100+2.3100)/100); //弹出7.9
    2、隐式转换 “==” 和 “-”

    if('3'==3)
    {
    alert('相等');
    }

    // 弹出'相等'
    alert('10'-3); // 弹出7
    3、NaN 和 isNaN

    alert( parseInt('123abc') ); // 弹出123
    alert( parseInt('abc123') ); // 弹出NaN

    封闭函数
    封闭函数是javascript中匿名函数的另外一种写法,创建一个一开始就执行而不用命名的函数。

    一般定义的函数和执行函数:

    function changecolor(){
    var oDiv = document.getElementById('div1');
    oDiv.style.color = 'red';
    }
    changecolor();
    封闭函数:

    (function(){
    var oDiv = document.getElementById('div1');
    oDiv.style.color = 'red';
    })();
    还可以在函数定义前加上“~”和“!”等符号来定义匿名函数

    !function(){
    var oDiv = document.getElementById('div1');
    oDiv.style.color = 'red';
    }()

    相关文章

      网友评论

          本文标题:定时器 类型转换 封闭函数

          本文链接:https://www.haomeiwen.com/subject/ekuprqtx.html