javascript support

match following patterns:
```javascript
// general function declartion
function foo () {
}

// bind to variable
var my_fun = function() {
};

// named closure
[].forEach(function bar() {
});
```