如何知道 javascript 中的变量名?

How know variable name in javascript?

假设一个函数:

function get(){}

这会得到一个变量

var name = "Eduardo"; 
get(name); 
function get(n) {} 

而且我想显示传递的变量的名称,但不知道这个名称。

function get(n) {
 return getNameVariableFromValue(n); // Pseudocode for explain my question
}

所以,我想要变量的名称,而 previouslu 不知道这个名称。

PD:我的问题主要是想知道,谁是window对象中的一个变量,不知道这个名称或值

您的问题假定没有两个属性具有相同的值,这是极不可能的。但是,做出这个疯狂的假设,你需要明确地创建新的 window 属性 而不是仅仅声明一个全局变量然后你可以使用 Object.keys() 来枚举所有的键名window 对象,寻找与您的值匹配的对象。找到后,报告密钥名称。

window.myGlobal = "Test";

Object.keys(window).forEach(function(key){

  if(window[key] === "Test"){
    console.log(key);
  }
});

由于沙盒,此代码无法在 Stack Overflow 代码段环境中运行,但您可以看到它可以运行 here(确保拥有您的开发人员工具运行).

时控制台打开

您可以将值作为对象发送到函数并执行如下操作

function get(n) {
 return Object.keys(n)[0];
}
var name ="Test1";
var name2 = "Test2"
console.log(get({name})) 
console.log(get({name2}))