for循环参数在JavaScript中工作不正常

for循环参数在JavaScript中工作不正常,javascript,loops,for-loop,evaluation,Javascript,Loops,For Loop,Evaluation,你好:我是新编程。 我的问题是for语句中的求值工作不正常 使用:sarir='n'它可以正常工作 With:salir=='n'不起作用 谢谢 <script type="text/javascript"> var tabla=""; var numusuario=0; var min=0; var max=9; var salir='s'; numusuario=prompt("Escribe un número entre 0

你好:我是新编程。 我的问题是
for
语句中的求值工作不正常

使用:sarir='n'它可以正常工作
With:salir=='n'不起作用

谢谢

<script type="text/javascript">
    var tabla="";
    var numusuario=0;
    var min=0;
    var max=9;
    var salir='s';
    numusuario=prompt("Escribe un número entre 0 y 9: ");
    for(var j=1;salir='n';j++) 
    {
        if(numusuario<0 || numusuario>=10)
        {
            salir='s';
            numusuario=prompt("Escribe un número entre 0 y 9: ");
        }
        else
        {
            for(var x=min;x<=max;x++)
            {
                tabla = tabla + x + " x " + numusuario + " = " + (x*numusuario) + "\n";
            }
            alert(tabla);
            break;
        }
    }
</script>

var tabla=“”;
var numusuario=0;
var min=0;
var max=9;
var salir='s';
numusuario=prompt(“描述número entre 0 y 9:”);
对于(var j=1;salir='n';j++)
{
如果(numusuario=10)
{
salir='s';
numusuario=prompt(“描述número entre 0 y 9:”);
}
其他的
{

for(var x=min;x
sarir='n'
表示赋值。它总是返回
true


salir=='n'
表示比较。它返回
false
,因为
salir='s'
所以
s
不等于
n
salir='n'
表示赋值。它总是返回
true


salir=='n'
表示比较。它返回
false
,因为
salir='s'
所以
s
不等于
n

这里发生的几件事,但主要是混合了不同形式的流控制:

  • 您正在使用
    sair
    (退出,对于非西班牙语使用者)作为循环结束指示器,但是
  • 循环条件始终为true(因为sair='n'
的计算结果为
'n'
,这是true)
  • 您还使用了一个变量,
    j
    ,没有任何用处(您不使用它,它也不参与循环条件)
  • 退出循环的唯一可能性是存在循环的
    break
    语句
  • 由于我不清楚预期的行为,我无法假设一个解决方案,但如果它要一直运行,直到用户写入一个有效的数字,然后写入该数字的乘法表,则可能是:

    <script type="text/javascript">
        var tabla="";
        var numusuario=0;
        var min=0;
        var max=9;
        var salir = 'n';
    
        do {
            numusuario=prompt("Escribe un número entre 0 y 9: ");
            if(numusuario>0 && numusuario<10) {
                for(var x=min;x<=max;x++)
                {
                    tabla = tabla + x + " x " + numusuario + " = " + (x*numusuario) + "\n";
                }
                alert(tabla);
                salir = 's';
            }
        } while(salir == 'n')
    
    
    </script>
    
    
    var tabla=“”;
    var numusuario=0;
    var min=0;
    var max=9;
    var salir='n';
    做{
    numusuario=prompt(“描述número entre 0 y 9:”);
    
    如果(numusuario>0&&numusuario这里发生了几件事,但主要是您混合了不同形式的流量控制:

    • 您正在使用
      sair
      (退出,对于非西班牙语使用者)作为循环结束指示器,但是
    • 循环条件始终为true(因为sair='n'
    的计算结果为
    'n'
    ,这是true)
  • 您还使用了一个变量,
    j
    ,没有任何用处(您不使用它,它也不参与循环条件)
  • 退出循环的唯一可能性是存在循环的
    break
    语句
  • 由于我不清楚预期的行为,我无法假设一个解决方案,但如果它要一直运行,直到用户写入一个有效的数字,然后写入该数字的乘法表,则可能是:

    <script type="text/javascript">
        var tabla="";
        var numusuario=0;
        var min=0;
        var max=9;
        var salir = 'n';
    
        do {
            numusuario=prompt("Escribe un número entre 0 y 9: ");
            if(numusuario>0 && numusuario<10) {
                for(var x=min;x<=max;x++)
                {
                    tabla = tabla + x + " x " + numusuario + " = " + (x*numusuario) + "\n";
                }
                alert(tabla);
                salir = 's';
            }
        } while(salir == 'n')
    
    
    </script>
    
    
    var tabla=“”;
    var numusuario=0;
    var min=0;
    var max=9;
    var salir='n';
    做{
    numusuario=prompt(“描述número entre 0 y 9:”);
    
    如果(numusuario>0&&numusuario),您应该使用for循环进行更深入的研究。您应该使用for循环进行更深入的研究