Javascript “的简写;console.log(“var:”var)“;?

Javascript “的简写;console.log(“var:”var)“;?,javascript,Javascript,如果有一个超快速的方法来实现这一点,那就太好了: "console.log("var: " + var)"? 尝试了这个,但不确定是否有方法在传入变量名称后将其作为字符串获取,或者将名称字符串转换为变量的引用 var mLog = function(varNameStr){ console.log(varNameStr + ": " + _____); } 编辑:从谷歌搜索“获取变量js的名称字符串”的结果来看,似乎没有简单的方法从引用中获取变量的名称字符串(您必须创建哈希表或其他不值

如果有一个超快速的方法来实现这一点,那就太好了:

"console.log("var: " + var)"?
尝试了这个,但不确定是否有方法在传入变量名称后将其作为字符串获取,或者将名称字符串转换为变量的引用

var mLog = function(varNameStr){
   console.log(varNameStr + ": " + _____);
}
编辑:从谷歌搜索“获取变量js的名称字符串”的结果来看,似乎没有简单的方法从引用中获取变量的名称字符串(您必须创建哈希表或其他不值得的结构)


因此,唯一可能的解决方案是将字符串转换为变量的引用。这在JS中是可能的吗?

下面就可以了。以字符串形式向其传递变量名

var mLog = function(varStr){
  console.log(varStr + ": " + eval(varStr));
}
例如:

> var strVar = 'A string variable';
> mLog('strVar');
< strVar: A string variable

> var arrVar = [1,2,3];
> mLog('arrVar');
< arrVar: 1,2,3
var strVar='A string variable'; >mLog('strVar'); var-arrVar=[1,2,3]; >mLog(“arrVar”); 以下内容将实现此目的。以字符串形式向其传递变量名

var mLog = function(varStr){
  console.log(varStr + ": " + eval(varStr));
}
例如:

> var strVar = 'A string variable';
> mLog('strVar');
< strVar: A string variable

> var arrVar = [1,2,3];
> mLog('arrVar');
< arrVar: 1,2,3
var strVar='A string variable'; >mLog('strVar'); var-arrVar=[1,2,3]; >mLog(“arrVar”); 无法“提取”变量名,因为变量实际上不是数据。你能做的最接近的事情就是将其用于对象。比如:

var obj= {
        prop: 'value'
    };

function mLog(object, prop) {
  console.log(prop + ': ' + object[prop];
}

mLog(obj, 'prop');
没有办法“提取”变量名,因为变量实际上不是数据。你能做的最接近的事情就是将其用于对象。比如:

var obj= {
        prop: 'value'
    };

function mLog(object, prop) {
  console.log(prop + ': ' + object[prop];
}

mLog(obj, 'prop');

我的意思是,如果您以任何方式传递vars字符串名称,您可以执行类似var mLog=function(varStr,var){console.log(varStr+“:”+var}的操作,并像mLog(“var”,var)一样调用它;这通常是不可能的,因为您不能作为对象访问局部变量范围。您可以为对象执行此操作,但不能为变量执行此操作。obj.getClass().getName()宏(例如JetBrains宏)如何?您使用的是什么IDE或编辑器?我的意思是,如果您以任何方式传递vars字符串名称,您可以执行类似于var mLog=function(varStr,var){console.log(varStr+“:“+var}的操作,并像mLog(“var”,var)那样调用它;这通常是不可能的,因为您不能作为对象访问局部变量范围。您可以对对象执行此操作,但不能对变量执行此操作。obj.getClass().getName()宏(例如JetBrains宏)如何?您使用的IDE或编辑器是什么?…仅当
mLog
的变量位于scopeTrue时。这是要求之一吗?…仅当
mLog
的变量位于scopeTrue时。这是要求之一吗?