Does JavaScript Support OOPs?

I have heard from many and have read a lot that JS does not support OOPs. Then how come mootools claim that their framework supports Object-Oriented JavaScript ?

Someone Pls throw some light on this.

JavaScript definitely supports OOP.

Here are a couple guides to get you started:

https://developer.mozilla.org/en/Introduction_to_Object-Oriented_JavaScript
http://eloquentjavascript.net/chapter8.html

And a video that’s a bit advanced but it can help you understand what’s happening under the hood:

http://www.youtube.com/watch?v=DwYPG6vreJg

You’re been hearing wrong then. JavaScript uses prototypal inheritance, which is capable of simulating class-based objects that other languages use.
Most other languages though are not capable of doing the prototypal inheritance that JavaScript has.

For example, with JavaScript you can simulate private members and [url=“http://javascript.crockford.com/private.html”]classical inheritance and if you want to make use of [url=“http://addyosmani.com/resources/essentialjsdesignpatterns/book/”]design patterns, those are fully capable too.

This Function the Ultimate video provides very good info on what JavaScript functions can be used for, and this [url=“http://www.youtube.com/watch?v=taaEzHI9xyY”]Programming Style and Your Brain video is a good treatment of programming style and why some ways of coding are more suitable in JavaScript than those used in other languages.

Another book you might consider is Pakt Publishing’s “Object Oriented JavaScript” by Stoyan Stefanov - the book covers everything from simulating class based inheritance through to prototypal inheritance.