для справки цикла, неизвестный синтаксис с JavaScript - PullRequest
2 голосов
/ 17 февраля 2011

говорят, что я хотел бы использовать переменные типа

var userpos1 : int;
var userpos2 : int;
var userpos3 : int;

//in a for loop like 

var i=1;
for (i=1;i<=3;i++)
{
    userposi + 1
}

как бы я разместил i так, чтобы цикл for правильно проходил через все мои переменные

var userpos1var : int;
var userpos2var : int;
var userpos3var : int;

//in a for loop like 

var i=1;
for (i=1;i<=3;i++)
{
    userposivar + 1
}

есть ли что-то, что ячто нужно сделать, чтобы это работало должным образом, например, "" или [] вокруг него?

Ответы [ 8 ]

3 голосов
/ 17 февраля 2011

Создайте массив из этих переменных и переходите к следующему.

for(i = 0; i < 3; i++)
{
    func(arr[i]);
}
2 голосов
/ 17 февраля 2011
<script type="text/javascript">
var userpos1 = 1;
var userpos2 = 2;
var userpos3 = 3;
var i = 1;
for (i=1;i<=3;i++)
{
    alert (eval("userpos" + i));
}
</script>
2 голосов
/ 17 февраля 2011

вы должны использовать вместо этого массив переменных, но чтобы сделать то, что вы хотите сделать, вы должны написать:

eval("userpos" + i + "var") + 1

eval может быть небезопасен в использовании и плохо работает.

1 голос
/ 17 февраля 2011

Почему вы не используете массив ...?

var userpos = new Array(3);

for (var i=0; i<userpos.length; i++) {}
{
    userpos[i] = i;
}
0 голосов
/ 17 февраля 2011

Eval () сделает это, но мы не должны поощрять его использование.Вместо этого создайте анонимную функцию.

for ( i = 1; i <= 3; i++ ) {
    alert(new Function('return userpos' + i + 'var;')()); // value of userpos1var
}

Обновить Пример JSFiddle: http://jsfiddle.net/madr/AHBrd/

0 голосов
/ 17 февраля 2011

Вместо этого используйте массив пользовательских позиций:

// Создайте массив из 3 позиций, задав для всех значение 0

var userPos = new Array(0, 0, 0);

// цикл через каждую позицию - уведомление начинается с 0.

для (var i = 0; i <2; i ++) </p>

{

userPos [i] + = 1;

}

0 голосов
/ 17 февраля 2011

То, что вы ищете:

var userpos = ['a','b','c'];

for(var i=0; i < userpos.length; i++) {
    userpos[i]; // doing something with it.
}
0 голосов
/ 17 февраля 2011

Это гораздо проще сделать, сохранив эти значения в одном массиве и итерируя по массиву.

someArray = new Array(1, 2, 3);
for (key in someArray)
   alert(someArray[key] ); 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...