I could be wrong, but from what I recall hoisting should only move the declaration to the top of the scope, e.g.:

```
function(files) {
  // Do Stuff  
  var a = files.length;
}
```

Essentially turns into:

```
function(files) {
  var a;
  // Do Stuff  
  a = files.length;
}
```

I will do some testing to confirm.