Foros del Web » Programando para Internet » Javascript »

No entiendo cómo funciona este script

Estas en el tema de No entiendo cómo funciona este script en el foro de Javascript en Foros del Web. @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código Javascript : Ver original var ventana = true ;   if ( ventana ) {   alert ( "Bienvenido" ) ; } ...
  #1 (permalink)  
Antiguo 09/04/2013, 12:38
Avatar de Linton  
Fecha de Ingreso: diciembre-2011
Ubicación: Viena
Mensajes: 1.213
Antigüedad: 12 años, 11 meses
Puntos: 55
No entiendo cómo funciona este script

Código Javascript:
Ver original
  1. var ventana = true;
  2.  
  3. if(ventana) {
  4.   alert("Bienvenido");
  5. }
¿¿Por qué diablos aparece la ventana?? Pero si no se estipula nada, ninguna instrucción, simplemente se pone el comienzo de una. Si ventana (o sea, true)... ¿¿¿¿qué???

Podría ser que true en JavaScript significara "adelante", "se aprueba lo que venga después". Pero entonces la construcción no tiene sentido, ¿si adelante...? Será adelante, o sea true, sin el if, porque no existe ninguna condición. No me entero con esta mierda de los booleanos
  #2 (permalink)  
Antiguo 09/04/2013, 12:54
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 16 años, 4 meses
Puntos: 1532
Respuesta: No entiendo cómo funciona este script

no hace falta que definas operadores, la condición evalúa la expresión, y como la variable dentro de la expresión es verdadera, pasa.

Lea sobre lógica Booleana
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #3 (permalink)  
Antiguo 09/04/2013, 12:55
Avatar de Carlangueitor
Moderador ლ(ಠ益ಠლ)
 
Fecha de Ingreso: marzo-2008
Ubicación: México
Mensajes: 10.037
Antigüedad: 16 años, 8 meses
Puntos: 1329
Respuesta: No entiendo cómo funciona este script

¿Sabes que es lo que hace if? Evalúa la expresión que está dentro de los paréntesis. ¿Que pasa cuando evalúas una sola variable? Pues retorna el valor de la variable, en este caso true.

Saludos
__________________
Grupo Telegram Docker en Español
  #4 (permalink)  
Antiguo 09/04/2013, 13:03
Avatar de hackjose  
Fecha de Ingreso: abril-2010
Ubicación: Edo Mexico
Mensajes: 1.178
Antigüedad: 14 años, 7 meses
Puntos: 131
Respuesta: No entiendo cómo funciona este script

En los parentesis de true puede ir una exprecion, variables o valores "directos"

if((3>2) && (3<5))-->exprecion
sentencias

var name = true;
if(name) -->variables
sentencias

if(true)--> valor directo
sentencias

Lo que esta dentro del parentesis debe ser true para que se executen las sentencias

El primer ejemplo lo podrias traducir como

Si ((3>2) y (3<5)) == true
efectivamente 3 es mayor que 2 y tambien 3 es menor que 5, asi que ambas comparaciones son verdaderas, como las dos son verdaderas entonces queda verdadero
Ya despues dice true==true y obviamente son iguales, entonces se ejecutan las sentencias

El segundo y tercer ejemplo se traduce como
Si true == true
el primer true es ya sea el de la variable o el valor directo
El segundo true es del IF es un true implicito

Salu2
  #5 (permalink)  
Antiguo 09/04/2013, 23:21
Avatar de Linton  
Fecha de Ingreso: diciembre-2011
Ubicación: Viena
Mensajes: 1.213
Antigüedad: 12 años, 11 meses
Puntos: 55
Respuesta: No entiendo cómo funciona este script

Con ese esquema gramatical basado en if no puede evaluarse un término aislado, sino que se estipula una fórmula condicional: si esto se cumple ---> entonces pasará lo otro.
Carece de sentido establecer "si cierto..." ¿¿¿Qué es cierto, y qué pasará si lo es??? Es bastante incongruente y chapucero que la misma construcción sirva para dos esquemas generadores muy distintos

Maycolalvarez, ya leo sobre lógica booleana, pero desde luego no hace honor a su nombre, me refiero a lo de lógica.

Cita:
Iniciado por Carlangueitor Ver Mensaje
¿Que pasa cuando evalúas una sola variable? Pues retorna el valor de la variable, en este caso true
Vaya, pues eso nadie me lo había dicho, simplemente dejaron caer ese ejemplo como si fuera el arquetipo silogístico de un condicional, cuando no tiene pies no cabeza desde ese punto de vista.


Cita:
Iniciado por hackjose Ver Mensaje
En los parentesis de true puede ir una exprecion, variables o valores "directos"
Ya digo, primera noticia Menudo manual de JavaScript me han endiñado.


En fin, muchas gracias a todos Un saludo.
  #6 (permalink)  
Antiguo 10/04/2013, 07:33
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años, 7 meses
Puntos: 1485
Respuesta: No entiendo cómo funciona este script

buenas...

Cita:
Carece de sentido establecer "si cierto..." ¿¿¿Qué es cierto, y qué pasará si lo es??? Es bastante incongruente y chapucero que la misma construcción sirva para dos esquemas generadores muy distintos
cierto que ese ejemplo en particular carece de sentido, pero esto es porque le falta contexto. es decir, no estamos analizando una aplicación o fragmento más completo. pero si quieres darle sentido a esas líneas, entonces miralo de esta forma.
Código:
var ventana = !self.closed;
if(ventana){ alert("bienvenido"); }

// u otro ejemplo más genérico ;
var mayor = 3 > 0;
if (mayor){ alert("3 es mayor que 0"); }
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #7 (permalink)  
Antiguo 10/04/2013, 09:16
Avatar de Linton  
Fecha de Ingreso: diciembre-2011
Ubicación: Viena
Mensajes: 1.213
Antigüedad: 12 años, 11 meses
Puntos: 55
Respuesta: No entiendo cómo funciona este script

Muchas gracias, un saludo

Etiquetas: Ninguno
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 18:38.