Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/384.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.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_Loops - Fatal编程技术网

关于javascript中循环的问题

关于javascript中循环的问题,javascript,loops,Javascript,Loops,我尝试了这个循环,但不起作用(语法错误)。 正确的方法是什么?例如,up+i不工作 for(i=0;i<10;i++) { up+i = function() { base.refresh("Field"+i, $t+i); } } for(i=0;i也许应该是 for(i=0;i<10;i++) { up = function() { bas

我尝试了这个循环,但不起作用(语法错误)。 正确的方法是什么?例如,up+i不工作

  for(i=0;i<10;i++) {
            up+i = function() {
                base.refresh("Field"+i, $t+i);
            }
        }

for(i=0;i也许应该是

for(i=0;i<10;i++) {
        up = function() {
            base.refresh("Field"+i, $t+i);
        }
    }

for(i=0;i也许应该是

for(i=0;i<10;i++) {
        up = function() {
            base.refresh("Field"+i, $t+i);
        }
    }

for(i=0;i负责循环的代码有效。请参见此处:(警告!依次打开10个警报框)

编辑:

您可以创建如下全局函数:


for(i=0;i负责循环的代码有效。请参见此处:(警告!依次打开10个警报框)

编辑:

您可以创建如下全局函数:


for(i=0;i赋值的左边不能有表达式。
up+i
应该是指针算术吗?如果是这样,javascript中就没有指针。我无法告诉您要做什么,但首先要做的是将
up+i=function(){…}
更改为
up=function(){…}
或者获取一个新变量来分配它。

您不能在赋值的左侧有一个表达式。
up+i
应该是指针算术吗?如果是,javascript中没有指针。我不能告诉您要做什么,但首先要做的是更改
up+i=function(){…}
up=function(){…}
或获取一个新变量来分配它。

代码中存在许多错误

向上 这是绳子吗? $t 这是什么

也许是这样

for(i=0;i<10;i++) {
var new_func = 'up' + i;
        new_func = function() {
            base.refresh("Field"+i, $t+i);
        }
    }

for(i=0;i代码中有许多错误

向上 这是绳子吗? $t 这是什么

也许是这样

for(i=0;i<10;i++) {
var new_func = 'up' + i;
        new_func = function() {
            base.refresh("Field"+i, $t+i);
        }
    }

对于(i=0;i而言,主要问题围绕这一行

up+i = function() {
表达式
up+i
生成一个值,而不是一个变量,以及一个可以分配到的位置。您是否尝试分配到数组中?如果是,请将其更改为以下内容

up[i] = function() {
编辑

OP阐明其目的是创建10个命名函数。在这种情况下,需要有一个对象来挂起它们。我将其称为root作为示例

var root = {};
for (i = 0; i < 10; i++) {
  root['up' + i] = function() { 
    base.refresh("Field"+i, $t+i);
  };
}

主要问题是围绕这条线

up+i = function() {
表达式
up+i
生成一个值,而不是一个变量,以及一个可以分配到的位置。您是否尝试分配到数组中?如果是,请将其更改为以下内容

up[i] = function() {
编辑

OP阐明其目的是创建10个命名函数。在这种情况下,需要有一个对象来挂起它们。我将其称为root作为示例

var root = {};
for (i = 0; i < 10; i++) {
  root['up' + i] = function() { 
    base.refresh("Field"+i, $t+i);
  };
}

您可以将它们添加到数组中,而不是尝试为函数创建单个变量

var ups;

for(i=0;i<10;i++) {
    ups.push(function() {
        base.refresh("Field"+i, $t+i);
    });
}
var-ups;

对于(i=0;i,您可以将它们添加到数组中,而不是尝试为函数创建单个变量

var ups;

for(i=0;i<10;i++) {
    ups.push(function() {
        base.refresh("Field"+i, $t+i);
    });
}
var-ups;
对于(i=0;i试试这个

for(i=0;i<10;i++) {
   window["up" +i] = function() {
      base.refresh("Field"+i, $t+i);
   }
}
试试这个

for(i=0;i<10;i++) {
   window["up" +i] = function() {
      base.refresh("Field"+i, $t+i);
   }
}


up+i
应该是什么?up0、up1、up2等等
up+i=function()
不是有效的Javascript,这就是为什么您会得到语法error@Fel那真的不行。你考虑过使用数组吗?例如:
up[i]=…
Ah。你不能做
up+i
,但你可以做
window['up'+i]
。虽然我不推荐它,但是
up+I
应该是什么?up0、up1、up2等等
up+I=function()
不是有效的Javascript,这就是为什么您会得到语法error@Fel那是行不通的。你考虑过用数组来代替吗?例如:
up[i]=…
Ah.你不能做
up+i
,但你可以做
window['up'+i]
。虽然我不建议他想让它生成up1、up2、up3、up4等。他想让它生成up1、up2、up3、up4等。这不对,请参阅第二条评论,了解他试图做的事情。他试图生成10个函数,而不是10个函数的数组。@Nick,当在事实发生后添加对问题的澄清时,这会更好r先通知评论人,然后再投票否决不immediately@jared我给尼克的评论也适用于你的建议。@Fel你想让
$t
引用什么?除非我们知道该值的意图,否则很难提供帮助。如果我使用$t+i,我会得到错误,但这个。$t0,$t1,$t2效果很好。可能是最好的选择ce是一段独立的代码……无论如何,谢谢。这不对,请参阅第二条评论,了解他试图做的事情。他试图创建10个函数,而不是10个函数的数组。@尼克,在事实发生后添加问题澄清时,最好先发表评论,通知大家,然后再否决投票immediately@jared通信我给Nick发的ent也适用于你的建议。@Fel你想让
$t
引用什么?除非我们知道该值的意图,否则很难帮助。如果我使用$t+i,我会得到错误,但是这个。$t0,$t1,$t2效果很好。可能最好的选择是单独的代码段…无论如何,谢谢。ReferenceError:$t没有定义。但是如果我直接使用$t1,错误会消失。不知道这是您的语法。ReferenceError:$t未定义。但是如果我直接使用$t1,错误会消失。不知道这是您的语法。