Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   создать переменную в цикле (https://javascript.ru/forum/misc/30691-sozdat-peremennuyu-v-cikle.html)

Hekumok 12.08.2012 16:37

создать переменную в цикле
 
где-то видел здесь на форуме, но уже не помню где, как создать переменную в цикле (дальше не знаю, как выразить свою мысль)...в общем должно быть так:
for (var i = 1; i<4; i++) {
var perem+i = i ;
} ; //создадутся переменные perem1, perem2, perem3

Как это вот сделать? Там вроде что-то с window надо

Dmitriyff 12.08.2012 16:40

for (var i = 1; i<4; i++) {
window['perem'+i] = i ;
}

Hekumok 12.08.2012 16:43

Цитата:

Сообщение от Dmitriyff (Сообщение 196950)
for (var i = 1; i<4; i++) {
window['perem'+i] = i ;
}

Спасибо)))

Deff 12.08.2012 16:44

Hekumok,
создайте массив эт правильнее
var perem=[]
for (var i = 1; i<4; i++) { 
perem[i] = i ; 
} ; //со
alert(perem[2])


ну или
for (var i = 1; i<4; i++) { 
eval('var perem'+i+' = '+i) ; 
} ; //со
alert(perem2)

Hekumok 12.08.2012 17:15

хм...сцуко не работает...что не так?
<html><head><style>
#card {
border: solid #000 1px ;
position: absolute ;
top: 5% ;
width: 15px ;
height: 15px ;
}
</style></head><body>
<script>
for (var i = 1; i<6; i++) {
window['div'+i] = document.createElement('div') ;
window['div'+i].id = "card" ;
var left = 5*i+15*i ;
window['div'+i].style.left = left+'px' ;
body.appendChild(window['div'+i]) ;
} ;
</script></body></html>

lord2kim 12.08.2012 17:22

Hekumok,
document.body.appendChild(window['div'+i]) ;

да и не помешало бы поправить строку с присвоением id, а то у всех одинаковые...

Dim@ 12.08.2012 17:22

Hekumok,
посмеялся - спасибо, а что такое "body" у тебя в коде пиши тогда
document.body

или
document.getElementsByTagName("body")[0]

Hekumok 12.08.2012 17:22

Deff, lord2kim, Dim@, спасибо, что-то я тупанул :)

lord2kim 12.08.2012 17:25

Цитата:

Сообщение от Hekumok (Сообщение 196969)
Deff, спасибо, но у меня что-то пример выше не работает

где это у вас пример Deff-а не робит:blink:

Hekumok 12.08.2012 17:30

Цитата:

Сообщение от lord2kim (Сообщение 196967)
Hekumok, да и не помешало бы поправить строку с присвоением id, а то у всех одинаковые...

Мне так и надо :)


Часовой пояс GMT +3, время: 18:28.