Cómo funciona JavaScript.¿trabajo de prototipo?


No me gustan los lenguajes de programación dinámicos, pero he escrito mi parte justa de código JavaScript. Nunca me di cuenta de esta programación basada en prototipos, ¿sabe alguien cómo funciona?

var obj = new Object();
obj.prototype.test = function() { alert('Hello?'); };
var obj2 = new obj();
obj2.test();

Recuerdo mucha discusión que tuve con la gente hace un tiempo (no estoy exactamente seguro de lo que estoy haciendo), pero según lo entiendo, no hay concepto de clase. Es sólo un objeto, y las instancias de esos objetos son clones del original, ¿verdad?

Pero ¿qué es el propósito exacto de esto".prototype " propiedad en JavaScript? ¿Cómo se relaciona con la creación de instancias de objetos?

Actualización: camino correcto

var obj = new Object(); // not a functional object
obj.prototype.test = function() { alert('Hello?'); }; // this is wrong!

function MyObject() {} // a first class functional object
MyObject.prototype.test = function() { alert('OK'); } // OK

También estas diapositivas realmente ayudaron mucho.


Warning: Undefined property: agent_blog_content::$date_asked in /var/www/agent_etc/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 32

Warning: Undefined property: agent_blog_content::$count_answers in /var/www/agent_etc/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 52