Работа с переменной по имени из параметра
Помогите пожалуйста. Передаю в функцию текстовое название переменной. Как установить ей значение?
var x = false; function setTrue(xName) { xName = true; } setTrue('x'); |
var x = false; function setTrue(xName) { eval(xName + '=true'); } setTrue('x'); |
ВЕТЕРАН, спасибо! Весь мозг сломал. Знание - сила.
|
Ну зачем же eval.
var x = false; function setTrue(xName) { window[xName] = true; } setTrue('x'); |
ну в теории можно через объект ))) чтобы не использовать eval и был доступ не только к глобальному значению))
var p=Object (); p.x=false; function putparam(p,name){ p[name]=true; } console.log(p.x); putparam(p,'x'); console.log(p.x); function test(){ var p=Object (); p.y=false; console.log(p.y); putparam(p,'y'); console.log(p.y); } test(); |
Часовой пояс GMT +3, время: 05:46. |