使用功能:
function get(){}
这将获得一个变量
var name = "Eduardo";
get(name);
function get(n) {}
我想显示传递的变量的名称,而不知道这个名字。
function get(n) {
return getNameVariableFromValue(n); // Pseudocode for explain my question
}
所以,我想要变量的名称而不知道这个名字。
PD:我的问题主要是知道谁是窗口对象中的变量,不知道这个名字或值
答案 0 :(得分:1)
您的问题假设没有两个属性具有相同的值,这是不太可能的。但是,做出那个疯狂的假设,你需要显式地创建新的window
属性,而不是仅仅声明一个全局变量,然后你可以使用Object.keys()
来枚举window
的所有键名。 {1}}对象,寻找与您的值匹配的对象。找到后,报告密钥名称。
window.myGlobal = "Test";
Object.keys(window).forEach(function(key){
if(window[key] === "Test"){
console.log(key);
}
});

由于沙盒,此代码无法在Stack Overflow代码段环境中运行,但您可以看到它正常工作 here (请务必让您的开发人员使用工具控制台在运行时打开)。
答案 1 :(得分:0)
您可以将值作为对象发送到函数,并执行以下操作
function get(n) {
return Object.keys(n)[0];
}
var name ="Test1";
var name2 = "Test2"
console.log(get({name}))
console.log(get({name2}))