Ejemplos números

let billion = 1e-6;

console.log(0xFF);
console.log(0b10001);

let num=7;
console.log(num.toString(16));
console.log(num.toString(2));
console.log(num.toString(7));

let suma=0.1+0.2;
console.log(Math.round(suma*100)/100);
console.log(suma.toFixed(2));

let j=Number("aa");
console.log(j);
console.log(Number.isNaN(j));
console.log(j==NaN);

console.log(parseInt('100px'))
console.log(Number('100px'))

for(let i=0;i<10;i++){
    console.log(aleatorio(6,2));
}

function aleatorio(max,min=1){
    return Math.trunc(Math.random()*(max-min+1))+min;
}

Math.max(3,5,1,78,4);

Ejercicios objetos

Cread una función a la que le pasemos un número y nos cree un objeto que tenga una propiedad ‘valor’ y el valor el número que le hemos pasado

Cread una función creaUsuario a la que le pasamos un nombre, un email y una ciudad y nos crea un objeto con esas tres propiedades

Cread una función mayor a la que le pasamos dos objetos como los del primer ejercicio y nos devuelve el objeto que tiene mayor valor. ¿Estamos devolviendo una referencia o una copia? Probadlo y decidid que es lo que mejor tenemos que devolver.

Cread una función hayComunes a la que le pasamos dos objetos y nos devuelve true si tienen propiedades compartidas y false si no es así.

Cread una función a la que le pasamos dos objetos y nos crea un objeto nuevo con las propiedades NO COMPARTIDAS de los objetos. Es decir, si el primer objeto tiene de propiedades nombre y edad y el segundo nombre y apellidos nos crea un objeto con las propiedades edad y apellidos. Los valores, los que tengan.

Cread una función masGrande a la que le pasamos dos objetos y nos devuelve el objeto que tenga más propiedades.

Más ejemplos objetos: copias

function makeUser(name, age) {
    return {
        name,
        age,
        for:5,
        7:"hola",
        "1":"boo",
    };
}

let user = makeUser("John", 30);

console.log(user);

let user2 = makeUser("Ana", 50);

// Si una propiedad existe
console.log("name" in user2);
console.log("names" in user2);

// Recorro todas las propiedades
for (clave in user){
    console.log(clave,user[clave])
}

// Los objetos son referencias
let user3=user2;

user3.name="Eustaquio";
console.log(user2);

// Para copiar un objeto tenemos varias opciones
let user4={};
// Usamos assign para copiar valores
Object.assign(user4,user);
user4.name="Ares";
console.log(user);
console.log(user4);

let a={
    a:1
};
let b={
    b:2
};
let c={
    c:3,
    a:6
};
let d={};
Object.assign(d,a,b,c);
console.log(d) //{a: 1, b: 2, c: 3}

let user5 = {
    name: "John",
    sizes: {
      height: 182,
      width: 50
    }
  };
  
  // Esto lo usamos para copiar de manera recursiva
  let clone = structuredClone(user5);

Ejemplos objetos

let user = {     // un objeto
    name: "John",  // En la clave "name" se almacena el valor "John"
    age: 30,        // En la clave "age" se almacena el valor 30
    age2: 30,        // En la clave "age" se almacena el valor 30
};

console.log(user)
console.log(user.name)

user.apellidos = "Pi";
console.log(user);

delete user.age;
let prop="apellidos";
console.log(user[prop]);

let foo="www";

user[foo]=7;

console.log(user);

let test={
    [foo]:1,
    [prop]:"Pi",
}

console.log(test)

Ejemplo funciones flecha

// Formato standard de la función flecha
let sum = (a, b) => a + b;

// Funciones flecha multilineas

let fibonacci=(num)=>{
    let a=1,b=1,c=a+b;
    for (let i=2;i<num;i++){
        c=a+b;
        a=b;
        b=c;
    }
    return c;
}

console.log(sum(2,3))

function checkEdad(edad,si,no){
    let res="";
    if(edad>=18){
        res=si();
    }else{
        res=no();
    }
    console.log(res);
}

checkEdad(10,function(){return "Puedes entrar al casino";},function(){return "No puedes entrar al casino";});
checkEdad(20,()=>"Puedes entrar al casino",()=>"No puedes entrar al casino");

Probemos el if… y todo lo demás

Cread un script de JS que nos pida (con prompt) la edad al usuario y la altura en centímetros

Si la edad es mayor de 16 o la altura mayor de 150 que muestre un mensaje que diga ‘Puedes pasar’

¿Qué pasa si el usuario no pone ningún valor (ya sabemos como son)?

Ejercicio bootstrap

Cread una página que tenga:

1.- Una barra de navegación con Inicio nosotros productos servicios contacto
2.- Un slider de cuatro fotos con caption (las que queráis)
3.- Una barra con diferentes secciones: Nacional Internacional Destacados
Que al pinchar en cada una nos muestre una información de cada apartado. Cada apartado tendrá una foto a la izquierda y un texto a la derecha.