• Barajar
    Activar
    Desactivar
  • Alphabetizar
    Activar
    Desactivar
  • Frente Primero
    Activar
    Desactivar
  • Ambos lados
    Activar
    Desactivar
  • Leer
    Activar
    Desactivar
Leyendo...
Frente

Cómo estudiar sus tarjetas

Teclas de Derecha/Izquierda: Navegar entre tarjetas.tecla derechatecla izquierda

Teclas Arriba/Abajo: Colvea la carta entre frente y dorso.tecla abajotecla arriba

Tecla H: Muestra pista (3er lado).tecla h

Tecla N: Lea el texto en voz.tecla n

image

Boton play

image

Boton play

image

Progreso

1/23

Click para voltear

23 Cartas en este set

  • Frente
  • Atrás
Scope
alcance o al área donde una variable puede utilizarse.
Puede ser global o local
Como se declara una variable global fuera de una función
Una variable que ha sido declarada fuera de una función usando “var” es una variable global
Como se declara una variable global dentro de una función
Si declaras una variable ya sea dentro o fuera de una función pero no usar el “var” se hará una variable global.
function test() {
var a = 5;
}
test();
alert(a); //QUE PASA?
// ReferenceError: a is not defined.
var a;
a = 1;
alert(a);
function test() {
var a = 5;
alert(a);
a = 4;
}
test();
alert(a);
//1
//5
//1
Block Scope, sirve el var?
no no sirve, para eso mejor let
var a;
a = 1;
alert(a); // a = 1
function test() {
if (true) {
var a = 5;
}
alert(a); // QUE PASA ACA?
a = 4;
}
test();
alert(a); // a = 1
a = 5
especialmente útil para el block scope, pero esta se usa desde ES6 y no la soportan todos los navegadores(por ahora).
let
var a;
a = 1;
alert(a); // a = 1
if (true) {
let a = 5;
alert(a); //QIUE PASA AQUI
}
alert(a); // a = 1
// a = 5
Dos maneras de definir funciones?
expressions(expresiones) y declarations(declaraciones)
Que es una función de tipo expresión.
Las function expressions son usualmente definidas asignándolas a una variable.
Que es una función de tipo declarations.
las function declarations SI empiezan con la palabra “function”
function foo(num) {
return num + 3;
}
Objetivos de un patrón de diseño
- Estandarizar el lenguaje entre programadores
Evitar perder tiempo en soluciones a problemas ya resueltos o conocidos
Crear código reusable (excelente ventaja)
Los patrones de diseño son la base para la búsqueda de soluciones a ___
problemas comunes en el desarrollo de software
Tipos de Patrones de diseño JS
- The Constructor Pattern
- The Module Pattern
- The Revealing Module Pattern
Ejemplo de constructor pattern
function Car( model, year, miles ) {

this.model = model;
this.year = year;
this.miles = miles;

}


// Note here that we are using Object.prototype.newMethod rather than
// Object.prototype so as to avoid redefining the prototype object
Car.prototype.toString = function () {
return this.model + " has done " + this.miles + " miles";
};

// Usage:

var civic = new Car( "Honda Civic", 2009, 20000 );
var mondeo = new Car( "Ford Mondeo", 2010, 5000 );

console.log( civic.toString() );
console.log( mondeo.toString() );
Module Pattern definición y en que se basan
Se separa la app en modulos importantes separados limpiamente y organizados, y se basa en objetos literales
var myObjectLiteral = {

variableKey: variableValue,

functionKey: function () {
// ...
}
};
Ejemplo de Module Pattern
var testModule = (function () {
// private
var counter = 0;

return {
//public
incrementCounter: function () {
return counter++;
},

resetCounter: function () {
console.log( "counter value prior to reset: " + counter );
counter = 0;
}
};

})();

// Usage:

// Increment our counter
testModule.incrementCounter();

// Check the counter value and reset
// Outputs: counter value prior to reset: 1
testModule.resetCounter();
Revealing Module Pattern
var myRevealingModule = (function () {

var privateVar = "Ben Cherry",
publicVar = "Hey there!";

function privateFunction() {
console.log( "Name:" + privateVar );
}

function publicSetName( strName ) {
privateVar = strName;
}

function publicGetName() {
privateFunction();
}


// Reveal public pointers to
// private functions and properties

return {
setName: publicSetName,
greeting: publicVar,
getName: publicGetName
};

})();

myRevealingModule.setName( "Paul Kinlan" );
Cada objeto en js tiene una propiedad interna llamada
prototype
que es prototype chain
el objeto prototype tiene su propio objeto prototype y así sucesivamente y el máximo es object
para que me sirve el prototype?
cuando solicitas una propiedad la cual el objeto no contiene, javascript va a ir a buscar a la prototype chain hasta que encuentre la propiedad solicitada, o hasta que legue al final de la cadena. Con esto podemos implementar herencia(inheritance).
Para que sirven? bind(), call(), y apply()
son usados para cambiar la referencia del ‘this’ para una función.