Ver Mensaje Individual
  #6 (permalink)  
Antiguo 04/05/2015, 05:08
Avatar de dashtrash
dashtrash
Colaborador
 
Fecha de Ingreso: abril-2007
Ubicación: Ni en Sevilla,ni en Sanlúcar..qué más da..
Mensajes: 927
Antigüedad: 17 años, 7 meses
Puntos: 270
Respuesta: Duda existencial sobre el uso de "this"

Cita:
Iniciado por kodaichi Ver Mensaje
Hola a todos,

Estoy aprendiendo javascript y me encuentro con una duda que raya en lo existencial, no logro comprender el uso del this, sobre todo en este ejemplo:

Código HTML:
<!DOCTYPE Html>
<html>
	<head>
		<title>Ejemplo de funciones con return</title>		
		<script type="text/javascript">	
			function areaCirculo(radio){
				this.radio = radio
				return 3.1416 * (radio * radio);
			}
		</script>
	</head>
	<body>
		<script type="text/javascript">
			var radio = radio
			var resultadoAreaCirculo = areaCirculo(8);
			document.write("El area de un circulo de radio " + radio + " es " + resultadoAreaCirculo);
		</script>
	</body>
</html> 
quiero mostrar el radio que se uso para calcular el área del círculo, así que necesito recuperar ese valor que pase como parámetro a la hora de llamar a la función.
Javascript no es orientado a objetos.El keyword "this" es, como en todos los lenguajes, un ámbito donde se declaran variables y métodos, pero ese ámbito no se calcula como en lenguajes típicos orientados a objetos.
Tu ejemplo vale, con un par de modificaciones:

Código HTML:
<!DOCTYPE Html>
<html>
	<head>
		<title>Ejemplo de funciones con return</title>		
		<script type="text/javascript">	
			function areaCirculo(radio){
				this.radio = radio;
				this.area= 3.1416 * (radio * radio);
			}
		</script>
	</head>
	<body>
		<script type="text/javascript">
			var resultadoAreaCirculo = new areaCirculo(8);
			document.write("El area de un circulo de radio " + resultadoAreaCirculo.radio + " es " + resultadoAreaCirculo.area);
		</script>
	</body>
</html> 
Atento al uso de "new".