定时器 类型转换 封闭函数

2019-01-08  本文已影响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';
}()

上一篇下一篇

猜你喜欢

热点阅读