01 | <!-- //--><![CDATA[//><!- |
02 | /* |
03 | El hecho de que este código funcione, a pesar de que la declaración de la función dimeMatriculaAlunmo() está debajo de su uso, |
04 | es por el Hoisting [ http://www.adequatelygood.com/2010/2/JavaScript-Scoping-and-Hoisting ]. |
05 | Si separamos el uso y la definción en dos bloques script ya no funciona. |
06 | */ |
07 | var resultado = dimeMatriculaAlunmo(2010, 15214); |
08 | alert ( 'Resultado: ' + resultado.toString()); // no funciona con arrays asociativos |
09 | // Ejemplo de cómo hacer un alert de un array no asociativo |
10 | var a = new Array( 'nose' , 'quese' ); alert ( 'Ejemplo de cómo hacer un alert de un array no asociativo: ' + a.toString() ); |
11 | alert ( 'Resultado: ' + resultado.ciclo + ' - ' + resultado.id); |
12 | /* |
13 | Función que determina el id de la matrícula de un alumno de la UC |
14 | */ |
15 | function dimeMatriculaAlunmo( cursoAcademico, idAlumno) { |
16 | var arrCiclos = [ '12CICLO' , 'GRADO' , 'CICLO3' , 'ESTUPO' ]; |
17 | var arrCiclosLength = arrCiclos.length; |
18 | var matricula = new Array(); |
19 | |
20 | cursoAcademico = parseInt( cursoAcademico ); // conversion a entero; Number() |
21 | if ( isNaN(cursoAcademico) ) { |
22 | logError( 'El Curso académico indicado no es un numero' ); |
23 | return ; |
24 | } |
25 | idAlumno = parseInt( idAlumno ); // conversion a entero; Number() |
26 | if ( isNaN(idAlumno) ) { |
27 | logError( 'El idAlumno indicado no es un numero' ); |
28 | return ; |
29 | } |
30 | switch ( cursoAcademico ) { |
31 | case 2011: |
32 | // ajustes adicionales |
33 | break ; |
34 | case 2010: |
35 | // ajustes adicionales |
36 | break ; |
37 | default : |
38 | break ; |
39 | } |
40 | var dato = 'ciclo3' ; |
41 | for (i = 0; i < arrCiclosLength; i++) { |
42 | ciclo = arrCiclos[i].toLowerCase(); // conversión a minúsculas para la comparación |
43 | if ( dato == ciclo) |
44 | { |
45 | matricula[ 'ciclo' ]= ciclo; // http://www.quirksmode.org/js/associative.html |
46 | matricula[ 'id' ] = 123; |
47 | } |
48 | } |
49 | return matricula; |
50 | } |
51 | function logError(msg) { |
52 | if (window.console && console.log) console.log ( msg); // para firebug |
53 | alert(msg); |
54 | } |
55 | //--><!]]> |