【发布时间】:2019-03-12 08:34:14
【问题描述】:
我感觉这可能是不可能的,但我想确定一个变量的原始变量名,该变量已传递给 javascript 中的函数。我不知道如何更好地解释它,所以看看这个例子是否有意义。
function getVariableName(unknownVariable){
return unknownVariable.originalName;
}
getVariableName(foo); //returns string "foo";
getVariableName(bar); //returns string "bar";
这是针对我正在开发的一个 jquery 插件,我希望能够显示传递给“调试”函数的变量的名称。
【问题讨论】:
-
我不确定这样做的目的是什么,因为您需要对变量值而不是变量名感兴趣。
-
程序运行时没有变量名。没有“当前”的,也没有“原始”的。
-
哈哈,我认为这是一个远射,但仍然值得一试。没有太多目的,但如果你想要上下文,你可以看到插件的当前版本:andygroff.com/jquery-debugger-debugging-plugin 如果你查看对象示例,我希望标题说“服装公司属性”而不是简单的“对象属性” " 这不是很重要,但会很好。
-
一些相关的功能请求:Suggestion to add nameof() to TypeScript compiler。如果这成功了,你可以这样做
nameof(foo) // returns the string "foo"。 -
我已经更新了我的answer below,它让你使用 ES6 非常接近。只需添加大括号。
标签: javascript