首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Javascript中字符串形式的变量名

Javascript中字符串形式的变量名
EN

Stack Overflow用户
提问于 2011-01-05 16:40:03
回答 18查看 224.8K关注 0票数 207

有没有办法在Javascript中以字符串的形式获取变量名?(就像Cocoa中的NSStringFromSelector

我想这样做:

代码语言:javascript
复制
var myFirstName = 'John';
alert(variablesName(myFirstName) + ":" + myFirstName);

--> myFirstName:John

更新

我正在尝试使用JavaScript连接浏览器和另一个程序。我想将实例名称从浏览器发送到另一个程序,用于回调方法:

代码语言:javascript
复制
FooClass = function(){};
FooClass.someMethod = function(json) {
  // Do something
}

instanceA = new FooClass();
instanceB = new FooClass();
doSomethingInAnotherProcess(instanceB); // result will be substituted by using instanceB.someMethod();

...

来自另一个程序:

代码语言:javascript
复制
evaluateJavascriptInBrowser("(instanceName).someMethod("resultA");");

用PHP:How to get a variable name as a string in PHP?

EN

回答 18

Stack Overflow用户

回答已采纳

发布于 2011-01-05 16:43:47

通常,在希望将名称映射到某个值的情况下,您可以使用哈希表,并且能够同时检索这两个值。

代码语言:javascript
复制
var obj = { myFirstName: 'John' };
obj.foo = 'Another name';
for(key in obj)
    console.log(key + ': ' + obj[key]);

票数 53
EN

Stack Overflow用户

发布于 2017-03-15 00:53:34

喜欢赛斯的回答,但使用Object.keys()

代码语言:javascript
复制
const varToString = varObj => Object.keys(varObj)[0]

const someVar = 42
const displayName = varToString({ someVar })
console.log(displayName)

票数 129
EN

Stack Overflow用户

发布于 2018-10-02 04:16:01

您可以使用以下解决方案来解决您的问题:

代码语言:javascript
复制
const myFirstName = 'John'
Object.keys({myFirstName})[0]

// returns "myFirstName"
票数 107
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4602141

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档