JS高级群的日常!写一个从10到0的倒计时,用console.log打印,不可以用 setInterval!本来说好的研究avalonJS最后演变成了看着大神在那边互相比拼实力。。
小森
执行一个函数 没有全局变量 写一个从10到0的倒计时 用console.log打印 不可以用 setInterval
执行一个函数 没有全局变量 写一个从10到0的倒计时 用console.log打印 不可以用 setInterval
小白
..额,可以多次调用setTimeout()吗
..额,可以多次调用setTimeout()吗
某个被打败的神
Function fn(a){console.log(a--);if(a>=0) Settimeout(fn,1000)}
Function fn(a){console.log(a--);if(a>=0) Settimeout(fn,1000)}
某神(非常迅速的敲出)
(function() {var i; for(i = 10; i > 0; i--) {(function(t){setTimeout( function() {console.log(10-t+1)},t*1000)})(i)}})()
<script>
(function() {
var i;
for(i = 10; i > 0; i--) {
(function(t){
setTimeout(function(){
console.log(10-t+1)
},t*1000)
}
)(i)}
})
() </script>
最后他们表示不服
要用队列(。。。。)
然后.......
我继续看着面试题。。。
又一个神发出代码(2分钟后)
<script>
(function (i) {
var self = arguments.callee;
console.log(i--);
if (i > 0) {
setTimeout(function() {
self(i);
}, 1000);
}
})(10);
</script>
(function(k){
var fc= arguments.callee
setTimeout(function(){
if(k>0){
k--;
fc(k);
console.log(k)
}
},1000);
}(10))
(function(k){
console.log(k--);
if (k >= 0) {
setTimeout(arguments.callee.bind(null, k), 1000);
}
}(10))
一个个神一样的人
function * get() {
for (var i = 10; i > 0; i--) {
yield i;
}
return 0;
} var it = get();
setTimeout(function(){
var out = it.next();
console.log(out.value);
if (!out.done) {
setTimeout(arguments.callee, 1000);
}
}, 1000);