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 javaEScript@scriptia.net http://lists.scriptia.net/listinfo.cgi/javaescript-scriptia.net