当前位置:  开发笔记 > 编程语言 > 正文

函数未使用setTimeout定义

如何解决《函数未使用setTimeout定义》经验,为你挑选了1个好方法。

出于某种原因,我将js代码包装在一个立即调用的函数表达式中,我得到了progressBar not defined.想知道为什么会这样吗?

(function(){
    "use strict"

    var progressBar = function(){
        var bar = document.getElementById('pbar'),
        status = document.getElementById('status'),
        barValue = bar.value;

        status.innerHTML = barValue + "%";
        bar.value++;

        var increment = setTimeout("progressBar()", 50);
        if(bar.value == 100){
            status.innerHTML = '100% - Straight Besting';
            bar.value = '100';
            clearTimeout(increment);
        }
    }

    progressBar();

})()

noahnu.. 5

将字符串传递给setTimeout它时,将在全局window对象的上下文中调用它.

setTimeout行更改为:

var increment = setTimeout(progressBar, 50);

例如

(function() {
   let i = 0;
   let myfunction = function() {
      console.log(i++);
      if (i < 10) setTimeout(myfunction, 100);
   };

   myfunction();
})()



1> noahnu..:

将字符串传递给setTimeout它时,将在全局window对象的上下文中调用它.

setTimeout行更改为:

var increment = setTimeout(progressBar, 50);

例如

(function() {
   let i = 0;
   let myfunction = function() {
      console.log(i++);
      if (i < 10) setTimeout(myfunction, 100);
   };

   myfunction();
})()
推荐阅读
臭小子
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有