怎么知道javascript中的变量名?

时间:2017-11-19 22:15:03

标签: javascript var

使用功能:

function get(){}

这将获得一个变量

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

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

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

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

PD:我的问题主要是知道谁是窗口对象中的变量,不知道这个名字或值

2 个答案:

答案 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}))