Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/unix/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
我能通过调用javascript中的另一个函数来停止循环吗_Javascript - Fatal编程技术网

我能通过调用javascript中的另一个函数来停止循环吗

我能通过调用javascript中的另一个函数来停止循环吗,javascript,Javascript,我有一个问题,我可以从另一个函数停止此函数。。。让我告诉你: var s = 50; function myfunction(){ for (i = 0, i < s, i++){ var saythis = new SpeechSynthesisUtterance("hi"); window.speechSynthesis.speak(saythis); } } var s=50; 函数myfunction(){ 对于(i=0,i

我有一个问题,我可以从另一个函数停止此函数。。。让我告诉你:

var s = 50;
function myfunction(){
  for (i = 0, i < s, i++){      
    var saythis = new SpeechSynthesisUtterance("hi");
    window.speechSynthesis.speak(saythis);
  }
}
var s=50;
函数myfunction(){
对于(i=0,i

然后我想使用另一个按钮调用函数stop来停止循环,这可能吗?

如果所有操作都是同步的(看起来它们是同步的),然后您不能从函数外部停止该函数,因为在运行
for
循环时,除了从该函数内部调用的Javascript之外,没有其他Javascript有机会运行

如果
s
变量设置为较小的值,则
for
循环将更快停止。因此,如果从
for
循环中调用的某个函数更改了
s
变量的值,那么
for
循环将更快停止


有许多方法可以从循环本身中停止
for
循环。您可以使用
中断语句以中断循环。或者,您可以
从循环中的函数返回
。或者,您可以实现一个单独的标志,这是循环检查的另一个条件。有很多方法可以将循环编码为在循环存在的函数中停止时停止。但是,您的问题是关于从其他函数停止循环。

如果您的所有操作都是同步的(看起来它们是同步的),然后您不能从函数外部停止该函数,因为在运行
for
循环时,除了从该函数内部调用的Javascript之外,没有其他Javascript有机会运行

如果
s
变量设置为较小的值,则
for
循环将更快停止。因此,如果从
for
循环中调用的某个函数更改了
s
变量的值,那么
for
循环将更快停止


有许多方法可以从循环本身中停止
for
循环。您可以使用
中断语句以中断循环。或者,您可以
从循环中的函数返回
。或者,您可以实现一个单独的标志,这是循环检查的另一个条件。有很多方法可以将循环编码为在循环存在的函数中停止时停止。但是,您的问题是关于从其他函数停止循环。

如果您的所有操作都是同步的(看起来它们是同步的),然后您不能从函数外部停止该函数,因为在运行
for
循环时,除了从该函数内部调用的Javascript之外,没有其他Javascript有机会运行

如果
s
变量设置为较小的值,则
for
循环将更快停止。因此,如果从
for
循环中调用的某个函数更改了
s
变量的值,那么
for
循环将更快停止


有许多方法可以从循环本身中停止
for
循环。您可以使用
中断语句以中断循环。或者,您可以
从循环中的函数返回
。或者,您可以实现一个单独的标志,这是循环检查的另一个条件。有很多方法可以将循环编码为在循环存在的函数中停止时停止。但是,您的问题是关于从其他函数停止循环。

如果您的所有操作都是同步的(看起来它们是同步的),然后您不能从函数外部停止该函数,因为在运行
for
循环时,除了从该函数内部调用的Javascript之外,没有其他Javascript有机会运行

如果
s
变量设置为较小的值,则
for
循环将更快停止。因此,如果从
for
循环中调用的某个函数更改了
s
变量的值,那么
for
循环将更快停止


有许多方法可以从循环本身中停止
for
循环。您可以使用
中断语句以中断循环。或者,您可以
从循环中的函数返回
。或者,您可以实现一个单独的标志,这是循环检查的另一个条件。有很多方法可以将循环编码为在循环存在的函数中停止时停止。但是,您的问题是关于从其他函数停止循环。

您可以添加一个标志,并在希望从外部停止循环时将其打开:

var s = 50;
var stop = false;
function myfuntion(){
    for (i = 0, i < s || stop, i++){        
        var saythis = new SpeechSynthesisUtterance("hi");
        window.speechSynthesis.speak(saythis);
    }
}

function stop_it() {
    stop = true;
}
var s=50;
var-stop=false;
函数myfuntion(){
对于(i=0,i
您可以添加一个标志,并在需要从外部停止循环时将其打开:

var s = 50;
var stop = false;
function myfuntion(){
    for (i = 0, i < s || stop, i++){        
        var saythis = new SpeechSynthesisUtterance("hi");
        window.speechSynthesis.speak(saythis);
    }
}

function stop_it() {
    stop = true;
}
var s=50;
var-stop=false;
函数myfuntion(){
对于(i=0,i
您可以添加一个标志,并在需要从外部停止循环时将其打开:

var s = 50;
var stop = false;
function myfuntion(){
    for (i = 0, i < s || stop, i++){        
        var saythis = new SpeechSynthesisUtterance("hi");
        window.speechSynthesis.speak(saythis);
    }
}

function stop_it() {
    stop = true;
}
var s=50;
var-stop=false;
函数myfuntion(){
对于(i=0,i
您可以添加一个标志,并在需要从外部停止循环时将其打开:

var s = 50;
var stop = false;
function myfuntion(){
    for (i = 0, i < s || stop, i++){        
        var saythis = new SpeechSynthesisUtterance("hi");
        window.speechSynthesis.speak(saythis);
    }
}

function stop_it() {
    stop = true;
}
var s=50;
var-stop=false;
函数myfuntion(){
对于(i=0,i