在javascript中将变量名转换为字符串
需要编写将变量名转换为字符串的在javascript中将变量名转换为字符串,javascript,string,variables,Javascript,String,Variables,需要编写将变量名转换为字符串的someFunction() 像 应该是这样的 alert ("value of" +somefuntion(abc) +"is"+ abc +"and value of" +somefuntion(def)+" is"+def ); 我已经寻找并尝试了一些解决方案 idk这个链接有什么帮助,因为我知道你会说它是重复的,但我试过了,它不起作用 是的,你可以这样做: alert ("value of abc is 123 and value of def is 45
someFunction()
像
应该是这样的
alert ("value of" +somefuntion(abc) +"is"+ abc +"and value of" +somefuntion(def)+" is"+def );
我已经寻找并尝试了一些解决方案
idk这个链接有什么帮助,因为我知道你会说它是重复的,但我试过了,它不起作用
是的,你可以这样做:
alert ("value of abc is 123 and value of def is 456")
一个简洁的方法是: 将对象设置为:
function getVariableName(v) {
for (var key in window) {
if (window[key] === v)
return key;
}
}
var abc = '123';
var def = '456'
alert ("value of " + getVariableName(abc) +" is "+ abc +" and value of " + getVariableName(def) + " is " + def);
然后,当您想要访问它们时,您可以执行以下操作:
const data = {
abc: {
key: 'abc',
value: '123',
},
def: {
key: 'def',
value: '456',
}
}
或
使用下面的代码
const abc='123';
常数def='456';
const varToString=varObj=>Object.keys(varObj)[0]
警报(“+varToString({def})+”的值为“+def+”,“+varToString({abc})+”的值为“+abc”)代码>字符串文字?使用对象。我不认为你能用文字变量做到这一点。尝试var data={abc:'123','def':'456'};var s='';对于(数据中的var k){s+='的'+k+'值是'+data[k];}
使用普通变量是不可能的。根据您的用例,您可以使用其他任何东西。我发现答案非常有用。1。您迭代了window=中的所有属性,结果非常糟糕。2. let
而您的代码不起作用。谢谢@Red,是的,这是一个奇怪的要求:)这对我来说也是一个奇怪的要求。谢谢你的提问和回答是的,我知道我们可以这样做,但我们的要求是不改变变量
const data = {
abc: {
key: 'abc',
value: '123',
},
def: {
key: 'def',
value: '456',
}
}
alert ("value of" +data.abc.key +"is"+ data.abc.value +"and value of" +data.def.key+" is"+data.def.value );
const abc = {key: 'abc', value: '123'};
const def = {key: 'def', value: '456'};
alert ("value of" +abc.key +"is"+ abc.value +"and value of" +def.key+" is"+def.value );