Hanlle Nicolas escribió:
>> En cuanto a crear objetos (instancias de clases):
>>
>> function Circle(r) {
>> this.radius = r;
>> }
>
> aqui creaste una funcion llamada "circle" que tomaria el parametro r
> y se lo asignaria a el objeto radius..asi es?....el this exactamente
> para que?.
En realidad Circle no es una simple "función", sino que es la forma de
crear "clases" que tiene JavaScript (es similar a como se hacía en
ActionScript 1.0). Al no existir la forma típica de otros lenguajes
"class Circle", se usa "function Circle".
Te podrás dar cuenta de que no estás declarando una simple función
cuando veas la palabreja "this" dentro de la función, si aparece esta
palabra, es que no es una función sino un molde para crear un objeto
como lo haría class en otros lenguajes.
El this hace referencia a la "instancia" de esta clase de objetos
Circle, como no sabemos qué nombre de instancia tendrá, la llamamos "this".
Por lo tanto,
this.radius = r;
significa que le estás asignando a la propiedad "radius" de la instancia
que sea (this) el valor "r". El objeto no es radius, el objeto será la
instancia de Circle que estés utilizando en ese momento, se llame como
se llame. Radius es solo una propiedad que le estás agregando al momento
de declarar la clase Circle.
>> Circle.prototype.area = function() {
>> return Math.pow(this.radius, 2) * Math.PI;
>> };
>>
>
> esta parte no la entiendo no entiendo por que "circle.prototype.area"
>
>
Si luego de creada la clase (en tiempo de ejecución, cuando ya has
instanciado algo) deseas agregarle un nuevo método a la clase Circle
(en este caso, el método "area"), lo debes hacer a través de la
propiedad "prototype", que te permite ingresar al "molde" donde fue
declarado Circle, para agregarle un nuevo método (función), en este
caso llamado "area".
La función que está luego del signo igual no es anónima, se llama
"area". Le estás diciendo: agregarle al prototipo de Circle (lo que
sería la "clase Circle") un método llamado "area" que ejecute lo que
viene entre las llaves del function que está a continuación del signo
igual.
Saludos!
Hernán Beati
-------------------
www.saberweb.com.ar
--------------------------------
_______________________________________________
javaEScript mailing list
[email protected]
http://lists.scriptia.net/listinfo.cgi/javaescript-scriptia.net