JavaScript学习,2

    时间就像海绵里的水,要挤总还是有的,所以在最近不是太忙的时间里,我选择了挤时间,一点点的挤出了大把的时间,于是乎便迎来了我对javascript的第二阶段的学习,首先说下, 说起JavaScript大家并不陌生,翻开各种各样的书籍,都是似曾相识但又模模糊糊朦朦胧胧,就比如我现在要说的知识点一setTimeout()和setInterval().

1.setTimeout()延时调用函数:

setTimeout(function(){
        alert('我是延时调用函数');         
},1000);

setTimeout可以接受两个参数,第一个参数是要确定在规定延时后要执行的代码段,第二个参数是说要过多久开始执行该代码段,那么我再来举个例子:

setTimeout('alert(我是不规范的延时调用函数)',1000);

以上这两种方式都可以正常运行,但是由于传入字符串有可能会造成解析错误,甚至出现不必要的错误,因此传入字符串作为要执行的方法是不推荐的.setTimeout()方法返回的是延时队列的id,有些同学可能会好奇,既然我要延时调用某个方法,那万一出现了我规定时间还没到我就想销毁这个延时家在函数怎么办,对这在最初确实是个问题也是个难点,因为在我还没有开始认真思考这些的时候虽然有用到setTimeout()方法,但是就是不知道怎么停止或者销毁,下面就来看小编给大家带来的例子:

var timeID = setTimeout(function(){
        alert('我是延时调用函数');         
},1000);
if(达到一定条件后销毁函数){
        clearTimeout(timeID);
}    

以上就是我对延时加载函数setTimeout()方法的理解.

2.间歇调用setInterval():

setInterval()和setTImeout()方法的用法非常相似,但是clearInterval()远比clearTimeout()的作用大的多,因为在一个间歇调用中如果你不主动去停止他,那么他将变为一个死循环甚至更糟的结果,所以如果使用到了setInterval()时间一定要记得关掉,不过在正式的开发环境中一般很少用到setInterval();因为setInterval完全可以由setTimeout方法代替,下面我们一起来看个例子:

var a = 10;
var b = 0;
var timeid = null;
function interval(){
      b++;
      if(b=a){
         clearInterval(timeid);  
      }    
}
timeid = setInterval(interval,1000);

用setTimeout代替等价于=>
var a = 10;
var b = 0;
var timeid = null;
function interval(){
      b++;
      if(b<a){
         setTimeout(interval,1000);  
      }else{
         alert('ok')
      }    
}
setTimeout(interval,1000);

这些便是我对与间歇调用和延时调用的理解,再次记录下 希望可以帮助有帮助的朋友.