Short answer: yep
Functions in JavaScript are first-class objects. You have function literals, you can store functions in variables, add/remove their properties and so on. This gives you a great expressive power.
An interesting
pattern for code reuse that comes to mind is stealing (or borrowing) methods.
Imagine this object:
Now another object:
Now 'hoho' doesn't have a getName() method but it can borrow it from 'o':
This way getName() is invoked and 'hoho' is bound to 'this' inside getName()