Honestly, I think this is all too complicated. In Javascript, when you look at a line like this:
a=1
you have to guess in which scope it changes or creates the variable a. I prefer the way PHP is dealing with scope. You simply know that "a=1" is only affecting the current scope.