Skip to content

Latest commit

 

History

History

01-JavaScriptAvanzado-I

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 
 
 

Ejercicios

JavaScript

Scope & Hoisting

Determiná que será impreso en la consola, sin ejecutar el código.

Investiguen cual es la diferencia entre declarar una variable con var y directamente asignarle un valor.

x = 1;
var a = 5;
var b = 10;
var c = function(a, b, c) {
  var x = 10; //cambia el valor de x
  console.log(x); //10
  console.log(a); //8
  var f = function(a, b, c) {
    b = a; //8
    console.log(b); //8
    b = c; //10
    var x = 5; //no hace nada
  }
  f(a,b,c);
  console.log(b);//9
}
c(8,9,10);
console.log(b);//10
console.log(x); //1
console.log(bar); //err
console.log(baz);//err
foo();
function foo() { console.log('Hola!'); } //hola
var bar = 1;
baz = 2;
var instructor = "Tony";
if(true) {
    var instructor = "Franco";
}
console.log(instructor); //Franco
var instructor = "Tony"; //Tony
console.log(instructor);
(function() {
   if(true) {
      var instructor = "Franco"; //Franco
      console.log(instructor);
   }
})();
console.log(instructor); //Tony
var instructor = "Tony";
let pm = "Franco";
if (true) {
    var instructor = "The Flash";
    let pm = "Reverse Flash";
    console.log(instructor);
    console.log(pm);
}
console.log(instructor);
console.log(pm);

Coerción de Datos

¿Qué crees que van dar estas operaciones?:

6 / "3"
"2" * "3"
4 + 5 + "px"
"$" + 4 + 5
"4" - 2
"4px" - 2
7 / 0
{}[0]
parseInt("09")
5 && 2
2 && 5
5 || 0
0 || 5
[3]+[3]-[10]
3>2>1 //no lo entiendo
[] == ![] //no lo entiendo

Si te quedó alguna duda repasá con este artículo.

Hoisting

¿Cuál es el output que vemos en consola luego de ejecutar este código? Explicar porque es así:

function test() {
   console.log(a);
   console.log(foo());

   var a = 1;
   function foo() {
      return 2;
   }
}

test();

Y el de este:

var snack = 'Meow Mix';

function getFood(food) {
    if (food) {
        var snack = 'Friskies';
        return snack;
    }
    return snack;
}

getFood(false);

This

¿Cuál es el output que vemos en consola luego de ejecutar esté código? Explicar porqué es así:

var fullname = 'Juan Perez';
var obj = {
   fullname: 'Natalia Nerea',
   prop: {
      fullname: 'Aurelio De Rosa',
      getFullname: function() {
         return this.fullname;
      }
   }
};

console.log(obj.prop.getFullname());

var test = obj.prop.getFullname;

console.log(test());

Event loop

Considerando el siguiente código, ¿Cuál sería el orden del ouput? ¿Por qué?

function printing() {
   console.log(1);
   setTimeout(function() { console.log(2); }, 1000);
   setTimeout(function() { console.log(3); }, 0);
   console.log(4);
}

printing();