JS(定时器、 sessionStorage、 localStorage)

JavaScript087

JS(定时器、 sessionStorage、 localStorage),第1张

1、定时器

2、清除定时器

3、例如:  过一秒钟 在控制台上打印出 一个数字 比如1,再过一秒钟 打印出2 ....,点击清除定时器 终止打印 。

4、 setTimeout 和 setInterval的区别是:

5、 sessionStorage 存储之后 页面刷新 缓存的值不会消失, 但是 把tab页 或者叫 会话 关闭之后,缓存的值就不存在了。

6、  localStorage会一致存储在本地,会话或者tab页关闭也不会消失 ;

        localStorage是和地址有关系的,地址改变了,localStorage里面的值就不存在了;

        前面地址没有发生改变的话,localStorage依然存在 ,虽然页面改变了;

定时器一般有两个

1)setTimeout()//n毫秒后执行一次

2)setInterval()//每隔n秒执行一次

这两个方法都有个返回值,返回一个定时器id,可以定义一个变量接收

清除定时器方法:

setTimeout()对应的是 clearTimeout(id)

setInterval()对应的是 clearInterval(id)

下面有个例子:

<script>

    //setTimeout 1000ms后执行1次

   var i = setTimeout(function(){

   },1000)

    //setInterval 每隔1000ms执行一次

    var j = setInterval(function(){

    },1000)

    //清除Timeout的定时器,传入id(创建定时器时会返回一个id)

    clearTimeout(i)

    //清除Interval的定时器,传入id(创建定时器时会返回一个id)

    clearInterval(j)

</script>

JavaScript中可以实现定时器功能的有两个函数——setTimeout和setInterval,二者的不同是setTimeout只执行一次,而setInterval是以指定的时间间隔重复执行。setTimeout可以使用clearTimeout取消,setInterval可以使用clearInterval取消。

有时,我们会用setTimeout(callback,0)将任务推迟一段很短的时间,但是其实通过process.nextTick(callback)来实现会更好,因为Node中的事件循环在一个处理事件队列的循环里运行,每循环一次称为一个“tick”。使用process.nextTick(callback)回调函数会在事件队列内所有事件处理完毕后,会在下次事件循环之前被调用,即进入下个event loop前执行;而setTimeout(callback,0)把回调延迟到后面的某个event loop执行,具体由设置的延时时间和event loop的执行时间决定。

这样可以保证my_async_function函数是顺序执行。