2014-02-14 2 views
2

У меня есть переменная my_var, объявленная в javascript. Как получить строковое значение этой переменной.Получить буквальное значение переменной javascript

Причина этого мне нужно разработать обобщенную функцию следующим образом:

function (myvar){ 
$('#'+ "myvar").show(); 
var = ....; 
} 
+0

Извините за не проясняет, функция должна быть функция (MyVar) { $ ('#' + "myvar"). show(); myvar = ....; } – aladine

+0

Я хочу использовать переменную myvar и строковое значение «myvar» в той же функции – aladine

+0

Что вы хотите делать со строковым значением? –

ответ

1

var является зарезервированным словом в javsacript вам нужно будет изменить имя параметра в функции.

function (myVariable){ 
    $('#'+ myVariable).show(); 
} 
0

Я не нашел эффективный способ использования отражения в 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 
+0

Спасибо, кажется, что ваше решение считает myvar1 и myvar2 как строку в json-объекте. – aladine

+0

Да. Строка - это имя свойства 'myvar1'. Чтобы получить значение свойства, используйте 'args [myvar1]' Это приведет к типизированному значению свойства – jasonscript

+0

@aladine, я обновил свой ответ, чтобы включить более подробный пример – jasonscript

Смежные вопросы