我有一个在javascript中声明的变量my_var。 如何获取此变量的文字字符串值。获取javascript变量的字面值
这背后的原因是我需要设计一个通用的功能是这样的:
function (myvar){
$('#'+ "myvar").show();
var = ....;
}
我有一个在javascript中声明的变量my_var。 如何获取此变量的文字字符串值。获取javascript变量的字面值
这背后的原因是我需要设计一个通用的功能是这样的:
function (myvar){
$('#'+ "myvar").show();
var = ....;
}
var
是一个保留字javsacript你需要在功能更改参数的名称。
function (myVariable){
$('#'+ myVariable).show();
}
var
是一个保留字(https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Reserved_Words)。
您需要使用别的东西,比如some_var
。 因此,给你:
function (some_var){
$('#'+ some_var).show();
}
我还没有发现在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
谢谢,你的解决方案似乎认为myvar1和myvar2是json对象中的字符串。 – aladine
是的。该字符串是'myvar1'属性的名称。要获取属性的值,可以使用'args [myvar1]'这将获得属性的类型值 – jasonscript
@aladine,我已经更新了我的答案以包含更详细的示例 – jasonscript
对不起,不明确,功能应该是函数(MYVAR){ $( '#' +“myvar”)。show(); myvar = ....; } – aladine
我想在同一个函数中同时使用变量myvar和字符串值“myvar” – aladine
你想对字符串值做什么? –