Autocompletion
Javascript is a dynamic language and it's impossible to get anywhere near to what you have in Actionscript or Java. Just accept what your IDE (WebStorm for instance) might suggest for you. This goes for any interpreted language really.
How to organize code?
Have a look at requirejs or node.js's own module require function.
Anonymous functions.
Yes, get use to them. Javascript is very much function-based so you'd just have to accept that part. Here is a great starting point.
Several tags and I declare a variable in one of them, can the tags below it and above it access that variable?
Nope, only tags below it. Try this:
<body> <script> console.log(x); </script> <script> var x = 1; </script> </body> Console prints "x is undefined".