Ejemplos básico de Javascript

<!--//--><![CDATA[//><!-
/*
	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, 
	es por el Hoisting [ http://www.adequatelygood.com/2010/2/JavaScript-Scoping-and-Hoisting ].
	Si separamos el uso y la definción en dos bloques script ya no funciona.
*/
	var resultado = dimeMatriculaAlunmo(2010, 15214);
	alert ( 'Resultado: ' + resultado.toString()); // no funciona con arrays asociativos
	// Ejemplo de cómo hacer un alert de un array no asociativo
	var a = new Array('nose', 'quese'); alert ( 'Ejemplo de cómo hacer un alert de un array no asociativo: ' + a.toString() );
	alert ( 'Resultado: ' + resultado.ciclo + ' - ' + resultado.id);
/*
Función que determina el id de la matrícula de un alumno de la UC
*/
function dimeMatriculaAlunmo( cursoAcademico, idAlumno) {
	var arrCiclos = ['12CICLO', 'GRADO', 'CICLO3', 'ESTUPO'];
	var arrCiclosLength = arrCiclos.length;
	var matricula = new Array(); 
	
	cursoAcademico = parseInt( cursoAcademico ); // conversion a entero; Number()
	if ( isNaN(cursoAcademico) ) {
		logError('El Curso académico indicado no es un numero');
		return;
	}
	idAlumno = parseInt( idAlumno ); // conversion a entero; Number()
	if ( isNaN(idAlumno) ) {
		logError('El idAlumno indicado no es un numero');
		return;
	}
	switch ( cursoAcademico ) {
		case 2011:
			// ajustes adicionales
		break;
		case 2010:
			// ajustes adicionales
		break;
		default:
		break;
	}
	var dato = 'ciclo3';
	for (i = 0; i < arrCiclosLength; i++) {
		ciclo = arrCiclos[i].toLowerCase();	// conversión a minúsculas para la comparación
		if ( dato == ciclo)
		{
			matricula['ciclo']= ciclo; // http://www.quirksmode.org/js/associative.html
			matricula['id'] = 123;
		}
	}
	return matricula;
}
function logError(msg) {
	if (window.console && console.log) console.log ( msg); // para firebug
	alert(msg);
}
//--><!]]>