Please enable JavaScript.
Coggle requires JavaScript to display documents.
Funciones y Estructura if/else - Coggle Diagram
Funciones y Estructura if/else
Delimitacion de sentencias
";" delimita el final de una sentencia
El final de sentencia tambien puede delimitarse con nueva linea Pero hay ambigüedades y no se recomienda hacerlo
Recomendacion: cada sentencia es una linea terminada con ";" -> es mas legible y seguro
Sentencia de asignación de variables
Una variable es un contenedor de valores La sentencia de asignacion introduce un nuevo valor en la variable Modificando por tanto el estado del programa
Las variables de JavaScript son no tipadas pueden contener valores de cualquier tipo de JavaScript
Nombres de variables
Un nombre de variable no debe ser una palabra reservada de JavaScript
Las variables son sensibles a mayúsculas mi_var y Mi_var son variables distintas
El nombre (o identidicador) de una variable debe comenzar por: letra, _ o $ El nombre pueden contener ademas números
Nombres bien construidos: x, ya_vás, $A1, $, _43dias
Nombres mal construidos: 1A, 123,%3, v=7, a?b, ..
Nombre incorrecto: da error_de_ejecucion e interrumpe el programa
Asignacion con operacion
Es muy comun modificar el valor de una variable
sumando, restando, ... algun valor
Por ejemplo, x=x + 7
JavaScript tiene operadores especiales para estas operaciones
=.-=,*=,/=,%=,.....(aplica a operadores lógicos, desplazamiento,...)
Expresiones con variables
Una variable puede utilizarse en la expresion que se asigna a ella misma
La parte derecha usa el valor anterior a la ejecucion de la sentencia
En y=y-2: la variable
y
tiene el valor 8 por lo que se asigna
y
un 6(8-2)
Una variable representa el valor que contiene Puede ser usada en expresiones como cualquier otro valor
Usar una variable no definida en una expresión
provoca un error y la ejecucion del programa se interrumpe
Variables y estado del programa
Las variables se crean con la sentencia definicion de variables. comienza con la palabra reservada var seguida de la variable, a la que se puede asignar un valor inicial
Se pueden crear varias variables en una sentencia separando las definiciones por comas
Estado del programa conjunto de valores contenido en todas sus variables
Funciones alert(), confirm() y prompt()
alert(msj): presenta un mensaje al usuario retoma al pulsar ok
confirm (msj): Presenta mensaje y pide confirmacion/rechazo retorna al pulsar, devuelve true (ok) false (cancel)
Interaccion sencilla basada en "pop-ups"
prompt(msj) Presenta mensaje y pide un dato de entrada Al pulsar ok, retorna y devuelve string introducido Si se pulsa Cancel devuelve"null"
Pre y post incremento o decremento
JavaScript posee los operadores ++ y -- de auto-incremento/decremento
auto-incremento (++) suma 1 a la variable a la que se aplica
auto-decremento (--) resta 1 a la variable a la que se aplica
++ y -- se aplican a la izquierda o derecha de una variable en una expresion
modificando el valor antes o despues de evaluear la expresion
Al producir efectos laterales y programas criticos no se recomienda un uso limitado
Operadores de identidad e igualdad
Identidad o igualdad estricta: <va> === <v2>
igualdad de tipo y valor:
aplicable a:number,boolean y strings
En objetos es identidad de referencias
Igualdad y desigualdad débil: == y !=
No utilizar! Conversiones impredecibles!
Desigualdad estricta: <v1> !== <v2> negacion de la igualdad estricta
Script conversor
Cuando el usuario lo introduce calcula el equivalente en dolares (* 1,34)
y lo representa con document.write(...)
Recargando la página se vuelve a ejecutar el programa
El script pide el numero de Euros a convertir a dolares
con el desplegable de la funcion prompt()
Script con expresion
Script:programa JavaScript insertado en una pagina HTML
Delimitado con la marca <script> con atributo "type=text/javascript"
Se ejecuta al cargar la pagina HTML en el navegador
alert("Text") muestra "Texto" es un desplegable
se utiliza para alertar al usuario sobre algun evento o resultado
Entrada/Salida y ejecucion de expresiones
Estas sentencias se utilizan habitualmente para comunicar con el exterior
p.e. alert("Texto"); muestra una ventana desplegable al usuario
Una expresion sin afecto lateral, solo genera un valor
Si ese valor no se guardam en una variable
La instruccion no tiene ningun afecto en el programa, solo consume recursos
La sentencia de ejecucion de expresiones puede evaluar expresiones
como por ejemplo 3+2; o alert("Texto");
sin asignar el resultado, puede ser: x= 3+2; o 3+2;
Operadores de comparacion
Utilizar comparaciones solo con números (number)
poseen una relacion de orden bien definida
No se recomienda utilizar con otros tipos: string, boolean, object, ...
Las relacion de orden en estos tipos existe, pero es muy poco intuitiva
JavaScript tiene 4 operadores de comparacion
Menor:<
menor o igual: <=
mayor: >
Mayor o igual: >=
Operador o de JavaScript: ||
Operador logico o operador binario: <valor_1> o <valor_2>
Verdadero solo si ambos valores son verdaderos
|| se ha extendido y es mas que un operador logico
No convierte el resultado a booleano
Solo interpreta <valor_1> o <valor_2> sin modificar
Devuelve como resultado <valor_1> o <valor_2> sin modificar
Sematica del operador logico o (or) de JavaScript: <valor_1> || <valor_2>
si el <valor_1>, sino devuelve <valor_2>
Operador y de JavaScript: &&
&& se ha extendido y es mas que un operqador logico
No conviene el resultado al booleano
Solo interpreta <valor_1> como booleano y segun sea false o true
Devuelve como resultado <valor_1> o <valor_2> sin modificar
Semantica del operador logico y (and) de JavaScript: <valor_1> && <valor_2>
si <valor_1> se evalua a false
devuelve <valor_1>, sino devuelve <valor_2>
Operador logico y Operador binario:<valor_1> y <valor_2>
Verdadero solo si ambos valores son verdaderos
Operador de asignacion condicional: "?:"
El operador de asignacion condicional devuelve un valor en funcion de unqa condicion logica
La condicion logica va siempre entre parentesis
Semantica de la asignacion condicional: (condicion) ? <valor_1> : <valor_2>
si condicion se evalua a true
devuelve <valor_1>, sino devuelve <valor_2>