[英]for loop parameter not working properly in JavaScript
你好:我是新編程。 我的問題是for
語句中的評估工作不正常。
使用:salir='n' 它可以正常工作
使用: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>
salir='n'
表示賦值。 它總是返回true
salir=='n'
表示比較。 它返回false
因為salir='s'
所以s
不等於n
這里發生了幾件事,但主要是你混合了不同形式的流量控制:
salir
(退出,對於非西班牙語揚聲器)作為循環結束指示符,但是...salir='n'
評估為'n'
,這是真的)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>
do {} while ()
至少執行一次並在最后檢查條件,這似乎更適合這種情況,我們刪除j
變量並使用salir
變量作為流量控制,直到用戶寫入正確的數字。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.