Каковы преимущества и недостатки каждого типа/подхода в написании объектно-ориентированных скриптов?
Лично я нашел закрытие (функциональный подход) как способ инкапсулировать состояние более естественным и, возможно, более элегантным. Я, однако, слышал, что это использование закрытий медленнее в реализациях JavaScript.
Мне хотелось бы, по крайней мере, узнать, где наиболее подходящий прототипный подход.