首页 > 试题广场 >

实现一个定时输出函数,传入一个正整数参数 ’n’ ,从 1

[问答题]
实现一个定时输出函数,传入一个正整数参数 ’n’ ,从 1 开始每隔 1s 递增输出整数,直到等于 ’n’ 为止。

var output = function(n){
    var i = 1
    var timer = setInterval(function(){
        console.log(i++)
        if(--n == 0){
            clearInterval(timer)
        }
    }, 1000)
}

发表于 2017-08-21 16:39:00 回复(0)
var output = function(n){ 
    for(var i=0; i; i++){
        (function(){ 
            var j =i;  
            setTimeout(function () {                     
              console.log(j+1)
            },j*1000)
        })();  
    }
}
编辑于 2017-04-08 22:41:43 回复(0)

此题要是实现的是一个定时输出的函数,因此要用到定时器。以下我给出两个解决方案:

方案一(使用setTimeout(fn, delay))

var output = function(n){
    i = i || 0;
    if(i <= n){
        console.log(i++);
        setTimeout(function(){output(n);},1000);}
}

方案二(使用setInterval(fn, delay))

var output = function(n){
    i = i || 0;
    var timer = setInterval(function(){ 
                               console.log(i++);
                               if(i > n){
                                   clearInterval(timer);}                        
    },1000);
}
编辑于 2017-03-05 16:51:16 回复(0)
var output = function(n){
var i = 1;
var timer = setInterval(function(){
console.log(i++);
if(i > n){
clearInterval(timer);
}
},1000)
}
output(3);
编辑于 2017-12-11 14:40:51 回复(0)
var output=function(n){
var count=0;
    (function(){
function incr(){
setTimeout(function(){
console.log(count=count+1);
if(n>count){
incr(n);
}
},1000);
}
incr();
    })(n)
};

output(10);
发表于 2017-09-02 16:09:49 回复(0)