2:
#2: YouYou can access name and age, without using such functions. In javascript you have to use different hacks to keep something private or protected.
This
User.name = "BoB"; User.age = 44; will produce same output as your example.
There are no constructors as they appear in other languages. Easiest way would be to just define init() function and call it right after you instance the object.
But my biggest tip for you is to look into http://www.prototypejs.org/. It's a javascript library with a lot of cool features which tries to make javascript "more OO*".
Using prototype library you can make classes to behave more like real OOP classes. It also features constructors.
Edit: As for what you asked in your comment:
person = new User(); person.name = "Bob"; person.age = 44;