Я не нашел эффективный способ использования отражения в JavaScript. Когда я была это же требование я в конечном итоге с использованием объекта в качестве параметра вместо
function test(args) {
for(var item in args) {
console.log(item);
console.log(args[item]);
}
}
test({
myvar1:"value of myvar1",
myvar2:"value of myvar2",
somenumber:50
});
это будет печатать
MyVar1
значения MyVar1
myvar2
значения of myvar2
somenumber
Редактировать
Более соответствующий пример:
function doStuff (oMyVar){
for(var item in oMyVar) {
alert(item); // alerts "myvar"
alert(oMyVar[item]); // alerts 22
$('#'+ item).show(); // show the element
oMyVar[item] = 33; // changes 22 to 33
}
}
var v = {'myvar':22};
// before call
alert(v.myvar); // prints 22
// to call
doStuff(v);
// after call
alert(v.myvar); // prints 33
Извините за не проясняет, функция должна быть функция (MyVar) { $ ('#' + "myvar"). show(); myvar = ....; } – aladine
Я хочу использовать переменную myvar и строковое значение «myvar» в той же функции – aladine
Что вы хотите делать со строковым значением? –