" console.log的简写(" var:" + var)"?

时间:2016-01-26 22:46:20

标签: javascript

以超快的方式做到这一点会很高兴:

"console.log("var: " + var)"?

试过这个,但不确定是否有传递变量名称作为字符串的方法,或者将名称字符串转换为对变量的引用......

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

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

2 个答案:

答案 0 :(得分:2)

以下将做到这一点。以字符串形式传递变量名称。

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

答案 1 :(得分:1)

无法“提取”变量名称,因为变量实际上不是数据。你能做的最接近的事就是用它来做对象。类似的东西:

var obj= {
        prop: 'value'
    };

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

mLog(obj, 'prop');