如何知道 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}))
假设一个函数:
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}))