在javascript中将变量名称转换为字符串

时间:2017-11-24 07:33:15

标签: javascript string variables

var abc = '123'

var def = '456'

需要编写将somefuntion()转换为字符串

alert ("value of" +somefuntion(abc) +"is"+ abc +"and value of" +somefuntion(def)+" is"+def );

喜欢

alert ("value of abc is 123 and value of def is 456")

应该是这样的

sftpBean.connect(HOSTIP, Port, Username,Password);

我已经搜索并尝试了一些解决方案 和idk这个链接如何帮助因为我知道你会说它的重复,但我尝试了它,它没有工作

How to turn variable name into string in JS?

3 个答案:

答案 0 :(得分:5)

使用以下代码。



const abc = '123';
const def = '456';

const varToString = varObj => Object.keys(varObj)[0]

alert ("value of " +varToString({def}) +" is "+ def +" and value of " +varToString({abc})+" is "+abc );




这基本上是这样做的,您使用varToString将变量作为对象传递给{variable}varToString然后返回array,其中传递的变量为 value

[
  "abc"
]

我们使用[0]选择器(Object.keys(varObj) [0] )获取此。现在它返回

abc

答案 1 :(得分:1)

是的,你可以这样做:

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);

答案 2 :(得分:0)

这样做的一个巧妙方法是:

将对象设为:

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 );