Professional Documents
Culture Documents
operadores lgicos
Tipo boolean
El tipo boolean solo tiene 2 valores
n true:
verdadero
n false: falso
!
Operador negacin (negation): !
n Convierte al valor lgico opuesto
!
Conversin a boolean
n false: 0, -0, NaN, null, undefined, "", ''
n true: resto de valores
!false
!true
!
!
=> true
=> false
!4
!"4"
!null
!0
=> false
=> false
=> true
=> true
!!""
!!4
=> false
=> true
Identidad e igualdad
Igualdad estricta (identidad)
n igualdad de tipo y valor:
===
w funciona bien solo con tipos bsicos!
n Objetos: identidad de referencias
n negacin de igualdad estricta:
!==
0 === 0
0 === 0.0
0 === 0.00
=> true
=> true
=> true
0 === 1
=> false
0 === false
=> false
!
!
=> true
=> false
Operadores: &&, || y ?:
Operador lgico Y (AND): a && b
n si a evala a false
w devuelve a, sino devuelve b
0 && true
1 && "5"
=> 0
=> "5"
undefined || 0
13 || 0
=> 0
=> 13
(7) ? 0 : 1
("")? 0 : 1
=> 0
=> 1
!
!
!
Operador lgico O (OR):
a || b
n si a evala a true
w devuelve a, sino devuelve b
!
Operador condicional: (c) ? a : b;
n si c evala a true
w devuelve a, sino devuelve b
!
!
x = x || 0;
Operadores de comparacin
JavaScript tiene 4 operadores de comparacin
n Menor:
<
n Menor o igual: <=
n Mayor:
>
n Mayor o igual: >=
=> true
1< 1
1 <= 1
1> 1
1 >= 1
=> false
=> true
=> false
=> true
=> true
=> true
=> false
=> true
!
!
Sentencia if/else
Sentencia if/else
Ejemplo con
sentencia if
Ejemplo de prompt()
10
Ejemplo de else-if
11
12
El tipo string
Texto internacionalizado codificado con el cdigo UNICODE
n
n
n
String vaco:
"" o ''
"texto 'entrecomillado' "
w comillas y apstrofes se pueden anidar: 'entrecomillado' forma parte del texto
=>
"Hola Pepe"
13
Internacionalizacin (I18N)
Teclado chino
http://www.unicode.org/charts/
Teclado arabe
14
Caracteres escapados
Los caracteres escapados
n son caracteres no representables dentro de un string
w comienzan por la barra inclinada (\) y la tabla incluye algunos de los ms habituales
Algunos ejemplos
n "Comillas dentro de \"comillas\""
w " debe ir escapado dentro del string
n
"Dos \n lineas"
w retorno de lnea delimita sentencias
CARACTERES ESCAPADOS
NUL (nulo):
Backspace:
Horizontal tab:
Newline:
Vertical tab:
Form feed:
Carriage return:
Comillas (dobles):
Apstrofe :
Backslash:
\0,
\b,
\t,
\n,
\t,
\f,
\r,
\",
\',
\\,
\x00, \u0000
\x08, \u0008
\x09, \u0009
\x0A, \u000A
\x0B, \u000B
\x0C, \u000C
\x0D, \u000D
\x22, \u0022
\x27, \u0027
\x5C, \u005C
15
ciudad
Clase String
[0] [1] ........ [5]
La clase String
n
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String
Mtodo:
Mtodo:
'ciudad'.indexOf('da')
=> 3
Mtodo:
n
16
Ejemplo I18N
17
Nmeros
18
Decimales:
Coma flotante:
32.23
3.2e1 (3,2x10)
10 + 4
10 - 4
10 * 4
10 / 4
10 % 4
=> 14
=> 6
=> 40
=> 2.5
=> 2
// sumar
// restar
// multiplicar
// dividir
// operacin resto
3e2
3e-2
=> 300
=> 0,03
+10/0
-10/0
=> Infinity
=> -Infinity
//desborda
//desborda
5e500
=> Infinity
//desborda
!
!
19
Conversin a enteros
Cuando JavaScript calcula expresiones
n convirtiendo tipos segn necesita
w utiliza las prioridades de operadores
!
Conversin a entero (o real)
n booleano: true a 1, false a 0
n String: Convierte nmero a valor o NaN
n null: a 0,
undefined: a NaN
'67' + 13
=> 6713
+'67'
+ 13 => 80
+'6.7e1' + 13 => 80
!
!
'xx' + 13
+'xx' + 13
=> 'xx13'
=> NaN
13 + true
13 + false
=> 14
=> 13
!
!
20
Modulo Math
El Modulo Math contiene
n constantes y funciones matemticas
!
Constantes
n Nmeros: E, PI, SQRT2, ...
n ...
Funciones
n sin(x), cos(x), tan(x), asin(x), ....
n log(x), exp(x), pow(x, y), sqrt(x), ....
n abs(x), ceil(x), floor(x), round(x), ....
n min(x,y,z,..), max (x,y,z,..), ...
n random()
Math.pow(3,2)
Math.sqrt(9)
=> 9 // 3 al cuadrado
=> 3 // raz cuadrada de 3
Math.floor(3.2)
Math.ceil(3.2)
Math.round(3.2)
=> 3
=> 4
=> 3
Math.sin(1)
=> 0.8414709848078965
Math.asin(0.8414709848078965) => 1
Mas info:
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math
Juan Quemada, DIT, UPM
21
Clase Number
var x = 1.1;
x.toFixed(0)
x.toFixed(2)
=> "1"
=> 1.10"
(1).toFixed(2)
=> 1.00"
1.toFixed(2)
!
!
(0.1).toPrecision(2)
x.toPrecision(2)
=> "0.10"
=> "1.1"
Mas info:
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number
Juan Quemada, DIT, UPM
22
Funciones
23
Definicin de la funcin
Funcin
Invocacin
o ejecucin
de la funcin
Nombre
Parmetros
Bloque de cdigo
delimitado por {....}
comer('Jos', 'paella');
Funcin:
n bloque de cdigo con parmetros, invocable (ejecutable) a travs del nombre
w La ejecucin finaliza con la sentencia return expr o al final del bloque
n Al acabar la ejecucin, devuelve un resultado: valor de retorno
Valor de retorno
n resultado de evalar expr, si se ejecuta la sentencia return expr
n undefined, si se alcanza final del bloque sin haber ejecutado ningn return
Juan Quemada, DIT, UPM
24
!
La funcin se puede invocar con un nmero variable de parmetros
comer('Jos', 'paella');
25
El array de argumentos
Los parmetros de la funcin estn accesibles tambin a travs del
n array de argumentos:
arguments[....]
w Cada parmetro es un elemento del array
comer('Jos', 'paella');
26
comer('Jos');
comer();
27
comer('Jos','paella');
28
var x = comer;
// asigna a x el cdigo de la funcin
x('Jos','paella'); => 'Jos come paella'
x()
=> 'undefined come undefined
var y = comer();
// asigna a y el resultado de invocar la funcin
y
=> 'undefined come undefined'
Juan Quemada, DIT, UPM
29
http://vishub.org/categories/43
Seleccionar
ejemplo
Hacer clic
en el
Modulo 1
Editor
Interactivo
30