关于javascript中循环的问题
我尝试了这个循环,但不起作用(语法错误)。 正确的方法是什么?例如,up+i不工作关于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
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,错误会消失。不知道这是您的语法。