Foros del Web » Programando para Internet » Javascript »

[SOLUCIONADO] Que significa este codigo "if(!function())"

Estas en el tema de Que significa este codigo "if(!function())" en el foro de Javascript en Foros del Web. Buenas gente del foros, soy nuevo en javascript y buscando una solución para validar unos radio conseguí este código: <script> function validar() { for ( ...
  #1 (permalink)  
Antiguo 15/07/2013, 19:05
 
Fecha de Ingreso: julio-2013
Mensajes: 21
Antigüedad: 10 años, 9 meses
Puntos: 0
Que significa este codigo "if(!function())"

Buenas gente del foros, soy nuevo en javascript y buscando una solución para validar unos radio conseguí este código:
<script>
function validar()
{
for ( var i = 0; i <= 40; i++ )
{
if (!validarBotonRadio(i))
//alert("1")
{
alert("no ha terminado la Evaluación" ) ;
return false;
}
}
alert("Evaluacion Completa" );
return true;
}
function validarBotonRadio(i)
{
//alert("2")
x = document.theForm["test_"+i];
//alert(document.theForm["test_"+i])
for ( k = 0; k < x.length; k++ )
//alert("test_"+i+"_rp"+k)
{
if ( x[k].checked )
{
alert("Mensaje")
return true;
}
}
return false;
}
</script>

Entiendo las dos funciones pero no se que hace exactamente esta condición" if (!validarBotonRadio(i))" por la logica valida si la función existe y la llama pero igual no estoy seguro por que nunca he visto este comando if(! function()) no se que hace ese signo de exclamación o que validación esta haciendo, le agradecería si me puede contestar esta duda que tengo, saludos.
  #2 (permalink)  
Antiguo 15/07/2013, 19:19
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Respuesta: Que significa este codigo "if(!function())"

Hola:

La exclamación cerrada "!" es el operador lógico (booleano) de la negación... en un if equivale al else

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #3 (permalink)  
Antiguo 15/07/2013, 20:14
Avatar de alberto510a  
Fecha de Ingreso: abril-2013
Mensajes: 351
Antigüedad: 11 años
Puntos: 35
Básicamente sirve para exponer lo contrario, normalmente ese if sin el signo de exclamación ejecutaría una función y si esta llega a return true la condición del if se realiza.

Sin embargo al poner el signo estas diciéndole que el booleano que devuelva va a ser contrario.

Si tu función del if llega al return false será como si fuera un booleano true en el if. No sé si me explique muy bien

Saludos!
  #4 (permalink)  
Antiguo 16/07/2013, 09:11
 
Fecha de Ingreso: julio-2013
Mensajes: 21
Antigüedad: 10 años, 9 meses
Puntos: 0
Respuesta: Que significa este codigo "if(!function())"

A ver si entiendo lo que me explicaron el signo de exclamación en esta función condicional if (!validarBotonRadio(i)) me indica que la función "validarBotonRadio(i)"debe dar como resultado false para que la condición se cumpla, es decir, que if (!validarBotonRadio(i)) es igual a que se escriba así if (validarBotonRadio(i)== false)? y en el caso que no tenga el signo de exclamación seria asi: if (validarBotonRadio(i)) es igual a escribir if (validarBotonRadio(i)== true), estoy en lo correcto o lo estoy entendiendo mal
  #5 (permalink)  
Antiguo 16/07/2013, 09:17
Avatar de alberto510a  
Fecha de Ingreso: abril-2013
Mensajes: 351
Antigüedad: 11 años
Puntos: 35
Respuesta: Que significa este codigo "if(!function())"

Cita:
es decir, que if (!validarBotonRadio(i)) es igual a que se escriba así if (validarBotonRadio(i)== false)?
Si más o menos sería lo mismo.

Cita:
if (validarBotonRadio(i)) es igual a escribir if (validarBotonRadio(i)== true)
Aquí no te haría falta poner "==true" ya que los if solo se ejecutan si la condicion de dentro devuelve true y como tu funcion va a llegar a un return true...

Saludos!
__________________
No hay preguntas tontas, sino tontos que no preguntan.
  #6 (permalink)  
Antiguo 16/07/2013, 11:09
 
Fecha de Ingreso: julio-2013
Mensajes: 21
Antigüedad: 10 años, 9 meses
Puntos: 0
Respuesta: Que significa este codigo "if(!function())"

Gracias ambos por las respuestas me aclararon la duda que tenia

Etiquetas: funcion
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 10:31.