Variable name as a string in Javascript

前端 未结 17 1697
难免孤独
难免孤独 2020-11-22 06:20

Is there a way to get a variable name as a string in Javascript? (like NSStringFromSelector in Cocoa)

I would like to do like this:

var myFirstName =         


        
17条回答
  •  一整个雨季
    2020-11-22 06:38

    I've created this function based on JSON as someone suggested, works fine for my debug needs

    function debugVar(varNames){
    let strX = "";
    function replacer(key, value){
        if (value === undefined){return "undef"}
        return value
        }    
    for (let arg of arguments){
    let lastChar;
        if (typeof arg!== "string"){
            let _arg = JSON.stringify(arg, replacer);
            _arg = _arg.replace('{',"");
            _arg = _arg.replace('}',"");            
            _arg = _arg.replace(/:/g,"=");
            _arg = _arg.replace(/"/g,"");
            strX+=_arg;
        }else{
        strX+=arg;
        lastChar = arg[arg.length-1];
        }
        if (arg!==arguments[arguments.length-1]&&lastChar!==":"){strX+=" "};
    }
    console.log(strX)    
    }
    let a = 42, b = 3, c;
    debugVar("Begin:",{a,b,c},"end")

提交回复
热议问题