在javascript中调用随机函数

在javascript中调用随机函数,javascript,Javascript,所以我的JavaScript代码有问题。随机事件不起作用:/你认为是什么问题 我有两张幻灯片,但是如果我点击第一张图片开始播放幻灯片,它就不起作用了 <script type="text/javascript"> $(document).ready(function() { function elso() { $(".start").click(function() { $.when($('.start2').show().dela

所以我的JavaScript代码有问题。随机事件不起作用:/你认为是什么问题

我有两张幻灯片,但是如果我点击第一张图片开始播放幻灯片,它就不起作用了

 <script type="text/javascript">
    $(document).ready(function() {

   function elso() { 
        $(".start").click(function() {
        $.when($('.start2').show().delay(2000)).done(function() {
            $.when($('.start3').show().delay(2000)).done(function() {
                $.when($('.start4').show().delay(2000)).done(function() {
                    $.when($('.start5').show().delay(2000)).done(function() {
                        $(".start").hide();
                        setTimeout(function() {
                            $(".start").show();
                            $(".start2, .start3, .start4, .start5").hide();
                        }, 2000);
                    });
                });
            });
        });
    });
    }

       function masodik () { 
        $(".start").click(function() {
        $.when($('.start2').show().delay(2000)).done(function() {
            $.when($('.start3').show().delay(2000)).done(function() {
                $.when($('.start4').show().delay(2000)).done(function() {
                    $.when($('.start5').show().delay(2000)).done(function() {
                        $(".start").hide();
                        setTimeout(function() {
                            $(".start").show();
                            $(".start2, .start3, .start4, .start5").hide(); 
                        }, 2000);
                    });
                });
            });
        });
    });
    }

 function randomFrom(array) {
  return array[Math.floor(Math.random() * array.length)];
}
function randomchords() {
  // add the 'window' prefix here
  randomFrom(window['elso', 'masodik'])();
}

});


  </script>

无法使用Windows访问函数,因为它们不是全局函数。此外,这将是[window.elso,window.masodic]或[window['elso',window[masodic]],而不是window['elso','masodik']

这些函数在作用域中,因此您可以使用它们的名称来访问它们。只需创建一个包含函数引用的数组,然后从中选择:

function randomchords() {
  randomFrom([elso, masodik])();
}

这应该计算到什么:window['elso','masodik']?如果你想做的只是启动其中一个函数,随机选择,比如:Math.random<0.5?玛索迪克:elos要简单得多。你能不能把它简化成一个演示问题的小例子?这是一个小问题,尤其是在嵌套不好的回调中。随机函数不起作用,所以。。。您想告诉我们哪个功能不工作吗?我们不想猜测也许[艾尔索,马索迪克]的随机试验能奏效?这是无效的js语法:窗口['elso','masodik']不工作:S@pearcider:您还必须调用该函数。像这样吗?抱歉,我是begginer codefunction randomchords{//在此处添加'window'前缀randomFromwindow['elso','masodik'];makeArray'elso','masodik';}code@pearcider:像这样:随机和弦;我不明白对不起:/