以超快的方式做到这一点会很高兴:
"console.log("var: " + var)"?
试过这个,但不确定是否有传递变量名称作为字符串的方法,或者将名称字符串转换为对变量的引用......
var mLog = function(varNameStr){
console.log(varNameStr + ": " + _____);
}
编辑:根据谷歌搜索的结果"获取变量js"的名称字符串,看起来似乎没有简单的方法从参考中获取变量的名称字符串(你必须创建哈希表或其他不值得的结构。)
因此,唯一可行的解决方案是将字符串转换为对变量的引用。这可能在JS吗?
答案 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');