无尽的循环——不知道为什么

Endless loops - not sure why?

本文关键字:不知道 为什么 循环 无尽      更新时间:2023-09-26

谁能告诉我为什么这个脚本会导致无限循环?

    var words = ' ';
var spaces = /'s{9}/;
var p;
p = spaces.test(words);
do {
    words = prompt("Test ", " ");
}
while (p != true);
var array = words.split(" ");
for(i = 0; i < array.length; i++) {
    document.write(array[i] + "<br/>");
}

do {nothing with p} while(以p为条件)显然会永远运行下去。你是这个意思吗?

var words = ' ', spaces = /'s{9}/, p;
do {
   p = spaces.test(words);
   words = prompt("Test ", " ");
}
while (!p);

您不需要在每次循环时更改p。

对,我认为正则表达式不做你认为它做什么。's{9}将在一行中搜索9个空格。regex似乎是一个很难使用的工具,所以我做了我认为你想要使用分割,这似乎你已经熟悉了。

var words = ' ';
var p;
do {
    words = prompt("Test", "");
    p = words.split(" ");
}
while (p.length != 9);
var array = words.split(" ");
for(i = 0; i < array.length; i++) {
    document.write(array[i] + "<br/>");
}
也许

?