我正在学习 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/