JavaScript and Object Oriented is a strange beast. JavaScript isn't actually an object (class) based language, although that doesn't stop people from using it like one.
JavaScript instead is a Prototype based language. In a nutshell, this means in JavaScript you describe something ( say... an NPC ), then clone and possibly extend it. "Objects" in JavaScript are mutable to the extreme. This is handy in that creating adhoc objects is laughably simple, but dangerous in that... well, clobbering an existing object is laughably simple.
JavaScript have some major shortcomings though. It's far too easy to create globals ( it's the default... ) and globals are bad, m'kay. It's also far too difficult to hide data. There is no concept of private or protected variables for example. This makes using JavaScript on large scale multi developer projects... tricky. As does the lack of a good module system built in. There are solutions out there to try and solve these problems... from closures ( which are an overly complicated hack to accomplish something that should be simple ), to higher level languages like CoffeeScript and TypeScript that compile to JavaScript. Of course, there is also the next version of JavaScript that hopes to fix all of these problems but is a product for the future.
So frankly, JavaScript is great at creating in the small projects. But for larger solutions, you really want to use a framework. Building your game over an existing library like Backbone would impose structure and a certain about of cleanness on your code. Or use TypeScript or a similar higher level language. One of the nicest things about JavaScript is also it's mutability, so its almost staggering what a framework is able to accomplish when it comes extending JavaScript or hiding it's various flaws.
Also, pick up the book JavaScript:The Good Parts.