2014-02-14 74 views
2

我有一個在javascript中聲明的變量my_var。 如何獲取此變量的文字字符串值。獲取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

價值的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