Собрать переменную по частям, реально?
Изначально переменные а1 а2 а3 равны 0. В результате некой функции должны обновляться переменные a1 a2 a3 на равные 1, в зависимости от того какое значение выбрано(переменная b(варьируется от 1го до 3х))
var a1="0"; var a2="0"; var a3="0"; var b="0"; function x(){ "a"+b.toString()=1; //<= Тут нужна помощь специалиста)) } <img src="1.gif" onclick="b=1; x()"> <img src="2.gif" onclick="b=2; x()"> <img src="3.gif" onclick="b=3; x()"> Так не работает, не знаю как соединить букву "а" и значение и b чтобы получилось имя нужной переменной для присваивания нового значения |
для глобальных переменных
function x(){
window["a"+b]=1; //toString не нужен, так как первый операнд-строка
}
но гораздо лучше сделать массив a, и обращатся к его элементам по индексу и b лучше в качестве параметра передавать ф-ции
var a=new Array(0,0,0);
function x(b){
a[b-1]=1;
}
<img src="1.gif" onclick="x(1)">
<img src="2.gif" onclick="x(2)">
<img src="3.gif" onclick="x(3)">
|
<script type="text/javascript">
var variables = {
a1: 0,
a2: 0,
a3: 0
};
function x(b) {
variables["a" + b] = 1;
alert("a" + b + " = " + variables["a" + b]);
}
</script>
<button onclick="x(1)">1</button>
<button onclick="x(2)">2</button>
<button onclick="x(3)">3</button>
------- опоздал :) |
Спасибо за помощь, но через массив не получиться, а вот 1ый вариант работает, спасибо)
|
| Часовой пояс GMT +3, время: 05:08. |