是否可以创建一个enumerateScope()
列出当前范围的所有属性(键)的函数?
<script>
var a = "foo";
enumerateScope(); //all properties of global window object including 'a'
</script>
这很容易,但是这个呢?
<script>
(function(){
var b = "bar";
enumerateScope(); //either only 'b' or all properties of global window object including 'b'
})();
</script>
最后一种情况是我感兴趣的。我不想更改匿名/闭包范围内的任何代码,就像
(function(scope){scope.b = "bar";})(window);
有什么办法可以做到这一点?