Javascript 列出在匿名函数中创建的变量

Javascript 列出在匿名函数中创建的变量,javascript,Javascript,如果我有如下Javascript代码 (function(){ var a = 'valueA'; var b = 'valueB'; var c = 'valueC'; //Create a loop that prints the name of all variables created above for(var x in ?????){ console.log(x); } })(); 如何打印在匿名函数中声明和分配的变

如果我有如下Javascript代码

(function(){
    var a = 'valueA';
    var b = 'valueB';
    var c = 'valueC';

    //Create a loop that prints the name of all variables created above
    for(var x in ?????){
        console.log(x);
    }
})();

如何打印在匿名函数中声明和分配的变量列表。

如果变量位于数组中,这非常容易:

function printVariable() {
   var newArray = [valueA, valueB, valueC....];
   var i;

   for (i = 0; i < newArray.length; i++) {
      console.log(newArray(i));
   }
}
函数printVariable(){
var newArray=[valueA,valueB,valueC….];
var i;
对于(i=0;i
如上评论中所述,这是不可能的,正如本链接中所解释的那样

mike的可能副本似乎是不可能的。你可以阅读这个链接。也许你应该改变你的变量定义。是的,它看起来是重复的!谢谢你的回复。。。我有一种感觉,这可能是不可能的!那么它们不是变量,它们是数组成员,所以这不是一个合适的答案。当然,但是如果你从变量创建数组,那么这是一个可行的答案。OFC这需要知道有多少变量。您建议如何从变量创建数组?您无法访问函数的变量对象,因此无法对其进行迭代。您可以使用ES5功能为对象属性创建一个集合方法,该方法在局部变量中反映对象属性的值,但这将是一个笨拙的解决方案。当它们被创建时,将它们放入数组中。使用array.push。OFC如果它们在不同的函数中初始化,则会变得更加复杂,但随后它们将需要解析到此函数,并可能在开始时被推送到数组中。我承认这不是最好的解决办法。但是我看不出它不起作用的原因,所以你有一个数组,它包含一些与变量无关的值,除了一些只有通过查看源代码才能发现的顺序。操作是:
如何打印在匿名函数中声明和分配的变量列表