Javascript: Usar switch para evaluar criterios múltiples

Ayer haciendo el trabajo cotidiano me tope con una lista devuelta por la base de datos y para varios casos la acción a realizar era la misma. En primera instancia pensé en usar sentencias If/Else anidadas pero no estuve convencido del todo. Luego me decidí por usar switch y encontré que habían 2 formas para lograrlo*:

Forma 1:

Aqui para cada “case” se deja en blanco y se omite el uso de break,  de esa forma el código avanza hasta el que contiene el “break”.

var loQueEvaluamos = 1;

switch(loQueEvaluamos) {
     case 0:
     case 1:
     case 2:
             alert('aplica para los casos 1, 2 y 3');
             break;
     default:
             alert('nada');
}

Forma 2:
Esta es una forma más sofisticada de lograrlo, lo que hace es evaluar ‘true’ y luego pone las condiciones.

var loQueEvaluamos = 1;

switch(true) {

     case loQueEvaluamos > 20  && loQueEvaluamos <= 26;
             alert('evaluado');
             break;
     default:
             alert('nada');
}

* El original del artículo se encuentra en: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/switch

Advertisements

Google translate como herramienta de aprendizaje

Estoy siguiendo un curso de inglés que usa la plataforma de Edusoft (http://www.edusoftlearning.com) que para mi estilo de aprendizaje ha resultado bastante bueno.  Al igual que todo curso de inglés tiene secciones de lectura, escritura, pronunciación y vocabulario.

Como herramienta de apoyo para aprender el nuevo vocabulario estoy usando Google Translate (translate.google.com).  Resulta que además de traducir las palabras, esta herramienta permite marcar la palabra traducida como favorita.

Image

De esta forma he creado una lista en el Phrasebook con todas las palabras que son nuevas para mi y que debo asegurarme de aprender.   También es posible exportar todas las palabras junto con su traducción a una hoja electrónica de Google Sheets.

Image

Al final ya llevo un registro de 113 palabras que debo asegurarme de comprender, aprender y memorizar.

Funciones en Javascript

Revisando un proyecto javascript Open Source (https://github.com/Leaflet/Leaflet.draw) encontré que declaran las funciones de un modo nuevo para mi.  Buscando por internet encontré que en Javascript hay 3 formas para definir una función:

  • function expression,  usa el operador “function” para crear una función.  El resultado de ese operador puede ser almacenado en cualquier variable o propiedad de un objeto.  Con frecuencia se refiere a este modo de declaración como “anonymous function” (función anónima) ya que no tiene un nombre.
var functionOne = function(){

//instrucciones

}
  • function declaration,  esto es declarar una función usando la sentencia “function”.  La función está disponible en “parse time” (algo así como en ejecución) y puede ser llamada en cualquier parte de ese ámbito.  Es posible almacenarla en una variable o en un objeto.
function fuctionTwo(){

//instrucciones

}</blockquote>
  • “Function()” constructor,  no se recomienda su uso ya que trabaja de la misma forma que eval() y tiene sus mismos problemas.

Más información

http://www.permadi.com/tutorial/jsFunc/index.html

http://kangax.github.io/nfe/

http://javascriptweblog.wordpress.com/2010/07/06/function-declarations-vs-function-expressions/

Aprender y compartir

Normalmente cuando estoy aprendiendo algo mi proceso consiste en identificar fuentes,  leer material, tomar notas y como resultado voy adquiriendo el nuevo conocimiento.   He usado varias herramientas para tomar las notas como cuadernos,   evernote o S pen,   si bien han sido útiles tienen la limitación de que se quedan guardadas sin utilidad posterior;  por esta razón voy a experimentar con este blog para ir posteando los diferentes materiales que encuentro para que tengan la oportunidad de ser útiles a otras personas.    Los temas son variados, pueden ir desde la receta de caldo de patas que hice el último fin de semana hasta Javascript.

 

https://www.dropbox.com/sc/ii4lvmhid167oxh/KlKS2epQ_7