Test-Driven Development in Vue with CypressJosh Justice
As your Vue app grows, are you slowed down by fragile or difficult-to-understand code? Test-Driven Development can help! It makes your code simpler, easier to refactor, and quicker to ship. We'll walk through a demonstration of using Cypress tests with Vue CLI 3 to drive your code for a higher-quality codebase.
Rust is a multi-paradigm systems programming language focused on safety, especially safe concurrency. Rust is syntactically similar to C++, but is designed to provide better memory safety while maintaining high performance.
This talk covers the following: principles of design, features, and applications. There are many successful projects used Rust, including browsers, operation systems, and database management systems, which will be also discussed in the talk.
Test-Driven Development in Vue with CypressJosh Justice
As your Vue app grows, are you slowed down by fragile or difficult-to-understand code? Test-Driven Development can help! It makes your code simpler, easier to refactor, and quicker to ship. We'll walk through a demonstration of using Cypress tests with Vue CLI 3 to drive your code for a higher-quality codebase.
Rust is a multi-paradigm systems programming language focused on safety, especially safe concurrency. Rust is syntactically similar to C++, but is designed to provide better memory safety while maintaining high performance.
This talk covers the following: principles of design, features, and applications. There are many successful projects used Rust, including browsers, operation systems, and database management systems, which will be also discussed in the talk.
4. Programación con arrays, funciones, y objetos definidos por el usuarioLaura Folgado Galache
Ciclo: Desarrollo de Aplicaciones Web
Módulo: Desarrollo Web en Entorno Cliente
Unidad 4. Programación con arrays, funciones, y objetos definidos por el usuario
Sum and Product Types -The Fruit Salad & Fruit Snack Example - From F# to Ha...Philip Schwarz
Sum and Product Types -The Fruit Salad & Fruit Snack Example - From F# to Haskell, Scala and Java.
Inspired by the example in Scott Wlaschin’s F# book: Domain Modeling Made Functional.
Download for better results.
Java 19 Code: https://github.com/philipschwarz/fruit-salad-and-fruit-snack-ADT-example-java
Ce Support explique quelques concepts de base de NodeJS et montre comment mettre en oeuvre la technologie NodeJS pour développer la partie Backend d'une application.
Les vidéos des démonstrations sont publiées sur les adresse suivantes :
- https://www.youtube.com/watch?v=-X_C1tS5-9Y
- https://www.youtube.com/watch?v=rE-xRH28m0s
- https://www.youtube.com/watch?v=tnxjkTvWoKA
Cette série explique les éléments suivants :
- Architecture Web
- Modèles Multi-Threads avec les entrées sorties bloquantes
- Modèles Single Thread avec les entrées sortie non bloquantes
-Technologie Node JS
- Comment créer une simple application Node JS avec java Script
- Architecture du Framwork Express
- Comment créer une application NodeJS avec Type Script
- Comment écrire des tests unitaires avec Jest
- Quelques concepts sur MongoDb
- Comment Créer une API Rest avec NodeJS, Express et MongoDb
- Comment tester l'API Rest
- Comment Créer la partie FrontEnd avec Angular.
Même si la qualité audio n'est pas bonne, ses vidéos peuvent aider ceux qui débutent dans NodeJS en attendant d'autres vidéos avec plus qualité audio et de contenu.
Bonne lecture
Séminaire sur Machines, Deep Learning For Web Mobile and Embedded Application with DL4J and TFJS :
Les vidéos de ce séminaire sont publiée sur les adresses suivantes :
- https://www.youtube.com/watch?v=uGSa4NigFKs
- https://www.youtube.com/watch?v=2yRAu78slgc
- https://www.youtube.com/watch?v=1ThjK3xLWII
- https://www.youtube.com/watch?v=N7LCa6aiqFs
Ce séminaire a été animé à l’ENSET de Mohammedia, dans le cadre du Projet Européen H2020 CybSPEED (Cyber Physical Systems for Pedagogical Rehabilitation in Special Education) dans lequel notre laboratoire de recherche SSDIA (Signaux, Systèmes Distribués et Intelligence Artificielle) est partenaire aux cotés des pays partenaires (France, Espagne, Grèce, Bulgarie, Japan et Chillie). Un projet Multi-disciplinaire autour de l'Intelligence Artificielle, visant à créer un robot destiné à assister les personnes à besoins spécifiques, en particulier les personnes atteintes par la maladie de l’autisme. Ce séminaire traite deux thématiques principales Lattice Computing animé par le professeur Vassillis Kaburlasos, EMaTTech, KAVALA, GRECE et Outils de mise en oeuvre de Machines et Deep Learning pour les applications Web Mobiles et embarquées, animé par moi même. Ce séminaire a un caractère de formation, de sensibilisation et de maîtrise des outils de développement des algorithmes de l'IA pour un public hétérogène Multi-disciplinaire (Informatique, Génie Electrique, Génie Mécanique, Ingénierie Pédagogique, Biologie, Chimie, etc..) constitué principalement des doctorants de notre Labo SSDIA, d'autres Labo affiliés au CeDOC de la FST de Mohammedia ainsi que des enseignants chercheurs de l'ENSET, de EMaTTech Kavala, Grèce et d'autres enseignants chercheurs venant de d'autres centres comme CRMF de Marrakech.
Ce séminaire vise particulièrement à expliquer quelques concepts liés à l’intelligence artificielle. Principalement Machines et Deep Learning et comment mettre en œuvre les Frameworks de machines et deep lerning dans des applications Web, Mobile et embarquées en utilisant Principalement Deeplearning4J pour les applications Java coté backend ou coté FrontEnd Desktop, Web ou Mobiles Android, et TensorFlowJS pour les applications Java Scripts coté Browser Web et Coté Applications Mobiles Hybrides ou NodeJS coté Backend.
Cette série de vidéo aborde les éléments suivants :
• Concepes généraux de l’Intelligence Artificielle, L’IA Distribuée et Systèmes Multi Agents
• Concepts fondamentaux de Machines et Deep Learning
• Réseaux de neurones artificiels : MLP, CNN
• Période d’incertitude des réseaux de neurones
• Catalyseur de l’Intelligence Artificielle
o Architectures Parallèles GPU (CUDA, OpenCL)
o Systèmes Distribués
o Application Mobile et IOT
o Algorithmes de MDL
o Framework de MDL
• Machines et Deep Learning avec TensorFlowJS : Architecture
o Architecture et Mise en oeuvre
• Machines et Deep Learning avec le Framework DL4J
o Architecture et Mise en oeuvre
Migration Spring Boot PetClinic REST to Quarkus 1.2.0Jonathan Vila
In this presentation I will introduce Quarkus and also show which were the steps followed to migrate Spring PetClinic application to Quarkus using the standard libraries : resteasy, microprofile metrics, hibernate, openapi, .... GraalVM
Découvrez le framework web Spring Boot qui a la cote !
Apprenez comment son système d'auto-configuration fonctionne.
Live coding et exemple de migration vers Spring Boot sont de la partie.
4. Programación con arrays, funciones, y objetos definidos por el usuarioLaura Folgado Galache
Ciclo: Desarrollo de Aplicaciones Web
Módulo: Desarrollo Web en Entorno Cliente
Unidad 4. Programación con arrays, funciones, y objetos definidos por el usuario
Sum and Product Types -The Fruit Salad & Fruit Snack Example - From F# to Ha...Philip Schwarz
Sum and Product Types -The Fruit Salad & Fruit Snack Example - From F# to Haskell, Scala and Java.
Inspired by the example in Scott Wlaschin’s F# book: Domain Modeling Made Functional.
Download for better results.
Java 19 Code: https://github.com/philipschwarz/fruit-salad-and-fruit-snack-ADT-example-java
Ce Support explique quelques concepts de base de NodeJS et montre comment mettre en oeuvre la technologie NodeJS pour développer la partie Backend d'une application.
Les vidéos des démonstrations sont publiées sur les adresse suivantes :
- https://www.youtube.com/watch?v=-X_C1tS5-9Y
- https://www.youtube.com/watch?v=rE-xRH28m0s
- https://www.youtube.com/watch?v=tnxjkTvWoKA
Cette série explique les éléments suivants :
- Architecture Web
- Modèles Multi-Threads avec les entrées sorties bloquantes
- Modèles Single Thread avec les entrées sortie non bloquantes
-Technologie Node JS
- Comment créer une simple application Node JS avec java Script
- Architecture du Framwork Express
- Comment créer une application NodeJS avec Type Script
- Comment écrire des tests unitaires avec Jest
- Quelques concepts sur MongoDb
- Comment Créer une API Rest avec NodeJS, Express et MongoDb
- Comment tester l'API Rest
- Comment Créer la partie FrontEnd avec Angular.
Même si la qualité audio n'est pas bonne, ses vidéos peuvent aider ceux qui débutent dans NodeJS en attendant d'autres vidéos avec plus qualité audio et de contenu.
Bonne lecture
Séminaire sur Machines, Deep Learning For Web Mobile and Embedded Application with DL4J and TFJS :
Les vidéos de ce séminaire sont publiée sur les adresses suivantes :
- https://www.youtube.com/watch?v=uGSa4NigFKs
- https://www.youtube.com/watch?v=2yRAu78slgc
- https://www.youtube.com/watch?v=1ThjK3xLWII
- https://www.youtube.com/watch?v=N7LCa6aiqFs
Ce séminaire a été animé à l’ENSET de Mohammedia, dans le cadre du Projet Européen H2020 CybSPEED (Cyber Physical Systems for Pedagogical Rehabilitation in Special Education) dans lequel notre laboratoire de recherche SSDIA (Signaux, Systèmes Distribués et Intelligence Artificielle) est partenaire aux cotés des pays partenaires (France, Espagne, Grèce, Bulgarie, Japan et Chillie). Un projet Multi-disciplinaire autour de l'Intelligence Artificielle, visant à créer un robot destiné à assister les personnes à besoins spécifiques, en particulier les personnes atteintes par la maladie de l’autisme. Ce séminaire traite deux thématiques principales Lattice Computing animé par le professeur Vassillis Kaburlasos, EMaTTech, KAVALA, GRECE et Outils de mise en oeuvre de Machines et Deep Learning pour les applications Web Mobiles et embarquées, animé par moi même. Ce séminaire a un caractère de formation, de sensibilisation et de maîtrise des outils de développement des algorithmes de l'IA pour un public hétérogène Multi-disciplinaire (Informatique, Génie Electrique, Génie Mécanique, Ingénierie Pédagogique, Biologie, Chimie, etc..) constitué principalement des doctorants de notre Labo SSDIA, d'autres Labo affiliés au CeDOC de la FST de Mohammedia ainsi que des enseignants chercheurs de l'ENSET, de EMaTTech Kavala, Grèce et d'autres enseignants chercheurs venant de d'autres centres comme CRMF de Marrakech.
Ce séminaire vise particulièrement à expliquer quelques concepts liés à l’intelligence artificielle. Principalement Machines et Deep Learning et comment mettre en œuvre les Frameworks de machines et deep lerning dans des applications Web, Mobile et embarquées en utilisant Principalement Deeplearning4J pour les applications Java coté backend ou coté FrontEnd Desktop, Web ou Mobiles Android, et TensorFlowJS pour les applications Java Scripts coté Browser Web et Coté Applications Mobiles Hybrides ou NodeJS coté Backend.
Cette série de vidéo aborde les éléments suivants :
• Concepes généraux de l’Intelligence Artificielle, L’IA Distribuée et Systèmes Multi Agents
• Concepts fondamentaux de Machines et Deep Learning
• Réseaux de neurones artificiels : MLP, CNN
• Période d’incertitude des réseaux de neurones
• Catalyseur de l’Intelligence Artificielle
o Architectures Parallèles GPU (CUDA, OpenCL)
o Systèmes Distribués
o Application Mobile et IOT
o Algorithmes de MDL
o Framework de MDL
• Machines et Deep Learning avec TensorFlowJS : Architecture
o Architecture et Mise en oeuvre
• Machines et Deep Learning avec le Framework DL4J
o Architecture et Mise en oeuvre
Migration Spring Boot PetClinic REST to Quarkus 1.2.0Jonathan Vila
In this presentation I will introduce Quarkus and also show which were the steps followed to migrate Spring PetClinic application to Quarkus using the standard libraries : resteasy, microprofile metrics, hibernate, openapi, .... GraalVM
Découvrez le framework web Spring Boot qui a la cote !
Apprenez comment son système d'auto-configuration fonctionne.
Live coding et exemple de migration vers Spring Boot sont de la partie.
ARREGLOS DE OBJETOS UNIDAD 5 ING. YOELMA MELENDRES CRITERIO DE DESEMPEÑO Aplica aspectos avanzados de la programación orientada a objetos; empleando arreglos de objetos y clases de utilidad.
Expositor: Guillermo Winkler
Resumen:
Sabiendo que nunca vamos a lograr escribir tests que prueben que el código es correcto, en esta charla vamos a ver cómo en lugar de escribir tests para casos específicos de entradas de nuestro sistema, podemos declarar propiedades que tiene que cumplir nuestro sistema, y que sea la propia infraestructura que encuentre los casos para los cuáles dichas propiedades no se cumplen.
Un repaso a la historia e implementación de QuickCheck con casos prácticos en Clojure y Javascript.
SEMIOLOGIA DE HEMORRAGIAS DIGESTIVAS.pptxOsiris Urbano
Evaluación de principales hallazgos de la Historia Clínica utiles en la orientación diagnóstica de Hemorragia Digestiva en el abordaje inicial del paciente.
LA PEDAGOGIA AUTOGESTONARIA EN EL PROCESO DE ENSEÑANZA APRENDIZAJEjecgjv
La Pedagogía Autogestionaria es un enfoque educativo que busca transformar la educación mediante la participación directa de estudiantes, profesores y padres en la gestión de todas las esferas de la vida escolar.
Documento sobre las diferentes fuentes que han servido para transmitir la cultura griega, y que supone la primera parte del tema 4 de "Descubriendo nuestras raíces clásicas", optativa de bachillerato en la Comunitat Valenciana.
La Unidad Eudista de Espiritualidad se complace en poner a su disposición el siguiente Triduo Eudista, que tiene como propósito ofrecer tres breves meditaciones sobre Jesucristo Sumo y Eterno Sacerdote, el Sagrado Corazón de Jesús y el Inmaculado Corazón de María. En cada día encuentran una oración inicial, una meditación y una oración final.
2. Objetos Globales de JavaScript
Características
Son los objetos que tenemos disponibles en el ámbito global (objetos
primitivos).
Los podemos dividir en 3 grupos:
Objetos contenedores de datos: Object, Array, Function, Boolean,
Number.
Objetos de utilidades: Math, Date, RegExp.
Objetos de errores: Error.
3. Objetos Globales de JavaScript
Object
Object es el padre de todos los objetos JavaScript, es decir, cualquier objeto hereda de él
Para crear un objeto vacío podemos usar:
La notación literal : var o = {}
La función constructora Object(): var o = new Object();
Un objeto contiene las siguientes propiedades y métodos:
La propiedad o.constructor con la función constructora.
El método o.toString() que devuelve el objeto en formato texto.
El método o.valueOf() que devuelve el valor del objeto (normalmente o).
> var o = new Object();
> o.toString()
< “[object Object]”
>
> o.valueOf() === o
< true
4. Objetos Globales de JavaScript
Array
Para crear arrays podemos usar:
La notacion literal : var a = []
La funcion constructora Array(): var o = new Array();
Podemos pasarle parametros al constructor Array().
Varios parámetros: Serán asignados como elementos al array.
Un numero: Se considerará el tamaño del array.
> var a = new Array(1,2,3,'four');
> a;
< [1, 2, 3, "four"]
>
> var a2 = new Array(5);
> a2;
< [undefined, undefined, undefined, undefined, undefined]
Como los arrays son objetos tenemos disponibles los métodos y propiedades del padre Object()
> typeof a;
< "object"
>
> a.toString();
< "1,2,3,four"
> a.valueOf()
< [1, 2, 3, "four"]
> a.constructor
< Array()
5. Objetos Globales de JavaScript
Array
Los arrays disponen de unos cuantos métodos interesantes:
push()
pop()
sort()
join()
slice()
splice()
> var a = [3, 5, 1, 7, 'test'];
>
> a.push('new')
>
> a
< [3, 5, 1, 7, "test", "new"]
<
> a.pop()
< "new"
> a
< [3, 5, 1, 7, "test"]
>
> var b = a.sort();
> b
< [1, 3, 5, 7, "test"]
> a
< [1, 3, 5, 7, "test"]
>
> a.join(' is not ');
< "1 is not 3 is not 5 is not 7 is not test"
>
> b = a.slice(1, 3);
< [3, 5]
> a
< [1, 3, 5, 7, "test"]
>
> b = a.splice(1, 2, 100, 101, 102);
< [3, 5]
> a
< [1, 100, 101, 102, 7, "test"]
6. Objetos Globales de JavaScript
Array - push()
push() inserta elementos al final del array.
a.push('new') es lo mismo que a[a.length] = 'new'
push() devuelve el tamaño del array modificado.
> var sports = ['soccer', 'baseball'];
> sports
< ["soccer", "baseball"]
> sports.length
< 2
> sports.push('football', 'swimming');
< 4
> sports
< ["soccer", "baseball", "football", "swimming"]
7. Objetos Globales de JavaScript
Array - pop()
pop() elimina el ultimo elemento.
a.pop('new') es lo mismo que a.length--;
pop() devuelve el elemento eliminado.
> var myFish = ['angel', 'clown', 'mandarin', 'sturgeon'];
> myFish
< ["angel", "clown", "mandarin", "sturgeon"]
> myFish.pop();
< "sturgeon"
> myFish
< ["angel", "clown", "mandarin"]
8. Objetos Globales de JavaScript
Array - sort()
Ordena el array y devuelve el array modificado.
> var fruit = ['apples', 'bananas', 'Cherries'];
> fruit
< ["apples", "bananas", "Cherries"]
> fruit.sort();
< ["Cherries", "apples", "bananas"]
>
> var scores = [1, 2, 10, 21];
> scores
< [1, 2, 10, 21]
> scores.sort()
< [1, 10, 2, 21]
>
> var numbers = [4, 2, 42, 36, 5, 1, 12, 3];
> numbers
< [4, 2, 42, 36, 5, 1, 12, 3]
> numbers.sort()
< [1, 12, 2, 3, 36, 4, 42, 5]
> numbers.sort( function(a, b) { return a - b; } );
< [1, 2, 3, 4, 5, 12, 36, 42]
9. Objetos Globales de JavaScript
Array - join() - slice()
join() devuelve una cadena (string) con los valores de los elementos del array.
> var a = ['Wind', 'Rain', 'Fire'];
> a.join();
< "Wind,Rain,Fire"
> a.join(" - ");
< "Wind - Rain - Fire"
> typeof ( a.join(" - ") )
< "string“
slice() devuelve un trozo del array sin modificar el original.
> var fruits = ['Banana', 'Orange', 'Lemon', 'Apple', 'Mango'];
> var citrus = fruits.slice(1, 3);
> fruits
< ["Banana", "Orange", "Lemon", "Apple", "Mango"]
> citrus
< ["Orange", "Lemon"]
10. Objetos Globales de JavaScript
Array - join() - splice()
splice() quita un trozo del array, lo devuelve y opcionalmente rellena el hueco con
nuevos elementos.
> var myFish = ['angel', 'clown', 'mandarin', 'surgeon'];
>
> myFish
< ["angel", "clown", "mandarin", "surgeon"]
> var removed = myFish.splice(2, 1);
>
> myFish
< ["angel", "clown", "surgeon"]
> removed
< ["mandarin"]
>
> var removed = myFish.splice(2, 0, 'drum');
> myFish
< ["angel", "clown", "drum", "surgeon"]
> removed
< []
11. Objetos Globales de JavaScript
Function
Las funciones son objetos.
Podemos crear funciones con la función constructora Function() (aunque este método no
se recomienda ya que internamente hace un eval()).
> function sum(a, b) {return a + b;};
> sum(1, 2)
< 3
> var sum = function(a, b) {return a + b;};
> sum(1, 2)
< 3
> var sum = new Function('a', 'b', 'return a + b;');
> sum(1, 2)
< 3
12. Objetos Globales de JavaScript
Function
Las funciones disponen de las siguientes propiedades:
La propiedad constructor que contiene una referencia a la función constructora
Function().
La propiedad length que contiene el numero de parámetros que acepta la función.
La propiedad caller (no standard) que contiene una referencia a la función que llamó a
esta función.
La propiedad prototype que contiene un objeto.
Sólo es útil cuando utilizamos una función como constructora.
Todos lo objetos creados con una función constructora mantienen una referencia a
su propiedad prototype y pueden usar sus propiedades como si fueran propias.
13. Objetos Globales de JavaScript
Function
Ejemplos 1 Ejemplo 2
> function myfunc(a){ return a; }
> myfunc.constructor
< Function()
>
> function myfunc(a, b, c){ return true; }
> myfunc.length
< 3
>
> function A(){ return A.caller; }
> function B(){ return A(); }
> B()
< B()
> var some_obj = {
name: 'Ninja',
say: function(){
return 'I am a ' + this.name;
}
}
> function F(){}
> typeof F.prototype
< "object"
> F.prototype = some_obj;
> var obj = new F();
> obj.name
< "Ninja"
> obj.say()
< "I am a Ninja”
14. Objetos Globales de JavaScript
Function
Las funciones disponen de los siguientes métodos:
El método toString() que devuelve el código fuente de la función
Los métodos call() y apply() que ejecutan métodos de otros objetos especificando el contexto
(especificamos un this diferente). Estos dos métodos hacen lo mismo pero el formato en que
reciben los argumentos es diferente.
toString() call() y apply()
> function myfunc(a, b, c) {return a + b + c;}
> myfunc.toString()
< "function myfunc(a, b, c) {
return a + b + c;
}“
> var some_obj = {
name: 'Ninja',
say: function(who){
return 'Haya ' + who + ', I am a ' + this.name;
}
}
> some_obj.say('Dude');
< "Haya Dude, I am a Ninja"
>
> my_obj = {name: 'Scripting guru'};
> some_obj.say.call(my_obj, 'Dude');
< "Haya Dude, I am a Scripting guru"
<
> some_obj.someMethod.apply(my_obj, ['a', 'b', 'c']);
> some_obj.someMethod.call(my_obj, 'a', 'b', 'c');
15. Objetos Globales de JavaScript
Function
Las funciones disponen del objeto arguments que (además de length) tiene la
propiedad callee que contiene una referencia a la función llamada (a si misma).
> function f(){return arguments.callee;}
> f()
< f()
1 (
2 function(count){
3 if (count <= 5) {
4 console.log(count);
5 arguments.callee(++count);
6 }
7 }
8 )(1)
16. Objetos Globales de JavaScript
Boolean
El objeto Boolean es un contenedor para un valor de tipo booleano.
Podemos crear objetos Boolean con la función constructora Boolean().
> var b = new Boolean();
> typeof b
< "object"
> typeof b.valueOf()
< "boolean"
> b.valueOf()
< false
La función Boolean usada como función normal (sin new) nos devuelve el valor pasado
como parámetro convertido a booleano
> Boolean("test")
< true
> Boolean("")
< false
> Boolean({})
< true
17. Objetos Globales de JavaScript
Number
La función Number() puede ser usada:
Cómo una función normal para convertir valores a número.
Cómo una función constructora (con new) para crear objetos.
Los objetos número disponen de los métodos: toFixed(), toPrecision() y toExponential().
> var n = new Number(123.456)
> n.toFixed(1)
< "123.5"
>
> (12345).toExponential()
< "1.2345e+4“
El método toString() de un objeto numero nos permite transformar un numero a una base determinada.
> var n = new Number(255);
> n.toString();
< "255"
> n.toString(10);
< "255"
> n.toString(16);
< "ff"
> (3).toString(2);
< "11"
> (3).toString(10);
< "3"
18. Objetos Globales de JavaScript
String
Podemos crear objetos String con la función constructora String().
Un objeto String NO es un dato de tipo primitivo string (valueOf()).
> var primitive = 'Hello';
> typeof primitive;
< "string"
> var obj = new String('world');
> typeof obj;
< "object"
>
> Boolean("")
< false
> Boolean(new String(""))
< true
Un objeto string es parecido a un array de caracteres:
Cada carácter tiene una posición indexada.
Tiene disponible la propiedad length.
> obj[0]
< "w"
> obj[4]
< "d"
> obj.length
< 5
19. Objetos Globales de JavaScript
String
Aunque los métodos pertenezcan al objeto String, podemos utilizarlos también directamente en datos de
tipo primitivo string (se crea el objeto internamente).
> "potato".length
< 6
> "tomato"[0]
< "t"
> "potato"["potato".length - 1]
< "o«
Los objetos string disponen de los siguientes métodos:
toUpperCase() devuelve el string convertido a mayúsculas.
toLowerCase() devuelve el string convertido a minúsculas.
charAt() devuelve el carácter encontrado en la posición indicada.
indexOf() busca una cadena de texto en el string y devuelve la posición donde la encuentra. Si no
encuentra nada devuelve -1-
lastIndexOf() empieza la búsqueda desde el final de la cadena. Si no encuentra nada devuelve -1.
20. Objetos Globales de JavaScript
String
Por tanto la manera de correcta de chequear si existe una cadena de texto en otra es:
if (s.toLowerCase().indexOf('couch') !== -1 ) {...}
slice() devuelve un trozo de la cadena de texto.
split() transforma el string en un array utilizando un string como separador.
concat() une strings.
var s = new String("Couch potato");
> s.toUpperCase()
< "COUCH POTATO"
> s.toLowerCase()
< "couch potato"
> s.charAt(0);
< "C"
> s.indexOf('o')
< 1
> s.lastIndexOf('o')
< 11
> s.slice(1, 5)
< "ouch"
> s.split(" ")
< ["Couch", "potato"]
> s.concat("es")
< "Couch potatoes"
21. Objetos Globales de JavaScript
Math
Math es un objeto con propiedades y métodos para usos matemáticos No es constructor
de otros objetos.
Algunos métodos interesantes de Math son:
random() genera números aleatorios entre 0 y 1.
round(), floor() y ceil() para redondear números.
min() y max() devuelven el mínimo y el máximo de una serie de números pasados como
parámetros.
pow() y sqrt() devuelve la potencia y la raíz cuadrada respectivamente.
22. Objetos Globales de JavaScript
Date
Date() es una función constructora que crea objetos Date.
Podemos crear objetos Date nuevo pasándole:
Nada (tomará por defecto la fecha actual).
Una fecha en formato texto.
Valores separados que representan: Año, Mes (0-11), Día (1-31), Hora (0-23), Minutos (0-59),
Segundos(0-59) y Milisegundos (0-999).
Un valor timestamp.
Ejemplo (Firebug muestra el resultado del método toString sobre un objeto date):
> new Date()
< Tue Jan 08 2008 01:10:42 GMT-0800 (Pacific Standard Time)
> new Date('2009 11 12')
< Thu Nov 12 2009 00:00:00 GMT-0800 (Pacific Standard Time)
> new Date(2008, 0, 1, 17, 05, 03, 120)
< Tue Jan 01 2008 17:05:03 GMT-0800 (Pacific Standard Time)
> new Date(1199865795109)
< Wed Jan 09 2008 00:03:15 GMT-0800 (Pacific Standard Time)
23. Objetos Globales de JavaScript
Date
Algunos métodos para trabajar con objetos Date son:
setMonth() y getMonth() escriben y leen el mes en un objeto date respectivamente (lo mismo hay para year,
day, hours, minutes, etc…).
parse() dado un string, devuelve su timestamp.
UTC() produce un timestamp dados un año, mes, dia, etc..
toDateString() devuelve el contenido de un objeto date en formato americano.
> var d = new Date();
> d.toString();
< "Wed Jan 09 2008 00:26:39 GMT-0800 (Pacific Standard Time)"
> d.setMonth(2);
< 1205051199562
> d.toString();
< "Sun Mar 09 2008 00:26:39 GMT-0800 (Pacific Standard Time)"
> d.getMonth();
< 2
>
> Date.parse('Jan 1, 2008')
< 1199174400000
> Date.UTC(2008, 0, 1)
< 1199145600000
>
> var d = new Date(2012, 5, 20);
> d.getDay();
< 3
> d.toDateString();
< "Wed Jun 20 2012"