javascript - 如何将一个函数的值传递给另一个函数?

标签 javascript canvas

我正在学习 Javascript,我阅读了有关作用域和变量的信息,但无法获取有关如何在函数之间发送变量的信息。 请有人解释一下如何应对这种情况,如果能推荐一些有关它的内容就太好了。

我想用30个不同的参数画30次图,并获取最后一个参数用于检查功能:

function loadImg{  
 .....
      img.onload = function() {   // Loading first picture at the start
        ........
           boo.onclick = function() {  // the function which by click start all process
               var i = 0;
               var num;  // the variable which I'm going to use for random numbers.
           setInterval(function() {      
               //   here I'm generating random numbers
                num = Math.floor(Math.random() * imgs.length);
            // and then start draw() function, which is going to get the 'num' parameter and draw a pictures with time interval ONLY 30 times
              if(i < 30){                    
              draw(num);
              i++; }, 2000);

            check(num); // after all, I want to run "check()" function which is going to get THE LAST from that 30 generated 'num' parameter and check some information. But is undefined, because it's outside the setInterval function and I don't wont to put it in, because it will starts again and again.

如何获取 check(num) 函数的最后一个参数?

附注抱歉我的英语不好,我一直在尽力描述。

最佳答案

您可以在 setInterval() 函数中调用 check(num),并附带条件:

if(i < 30){                    
  draw(num);
  i++;
}
else
{
   check(num);
}

然后您还应该结束循环,因为这将无限期地继续运行。

为此,将间隔分配给变量:

var myInterval = setInterval(function() { 

然后在调用check()之前清除间隔:

if(i < 30){                    
  draw(num);
  i++;
}
else
{
   clearInterval(myInterval);
   check(num);
}

关于javascript - 如何将一个函数的值传递给另一个函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30703272/

相关文章:

javascript - 如何在下拉列表更改时动态隐藏表格行?

javascript - 粘性/快速滚动不会向上滚动

javascript - 打印功能在 Chrome 中无法正常工作

javascript - 谷歌图表日历的 getimageuri() 替代方案

javascript - 在 THREE.js 中在 Canvas 来源的纹理上进行透明绘图

javascript object.key 不工作

javascript - 将对对象的引用传递给 jQuery 中的回调函数

javascript - JS Tile Map - 用图像替换彩色瓷砖

javascript - 如何在 Adob​​e Animate CC 动画之间通信 'externally'?

Android如何在没有 View 的情况下在 Canvas 上绘图