Foros del Web » Programando para Internet » Javascript »

[SOLUCIONADO] Variable rara u objeto desconocido

Estas en el tema de Variable rara u objeto desconocido en el foro de Javascript en Foros del Web. Hola. Quería hacer un test para mi página, y como soy nuevo en esto de JavaScript, pues encontré uno para seguirlo como ejemplo y modificar ...
  #1 (permalink)  
Antiguo 12/06/2015, 08:51
 
Fecha de Ingreso: junio-2015
Mensajes: 14
Antigüedad: 8 años, 10 meses
Puntos: 0
Variable rara u objeto desconocido

Hola.

Quería hacer un test para mi página, y como soy nuevo en esto de JavaScript, pues encontré uno para seguirlo como ejemplo y modificar las cosas que me interesan para lograr un test que se adapte a mis requisitos y a mi web.

Encontré este test en un foro inglés, y hay una parte que no entiendo. Releí mucha información sobre las variables y no logro entender esta parte:
var pos = 0, test, test_status, question, choice, choices, chA, chB, chC, correct = 0;

Es una variable o que es? al principio creía que era un array, pero no lo parece, ademas es del correct=0, como se entiende?

Aquí os dejo todo el código del test:

Código:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<style>
div#test{ border:#000 1px solid; padding:10px 40px 40px 40px; }
</style>
<script>
var pos = 0, test, test_status, question, choice, choices, chA, chB, chC, correct = 0;
var questions = [
    [ "What is 10 + 4?", "12", "14", "16", "B" ],
	[ "What is 20 - 9?", "7", "13", "11", "C" ],
	[ "What is 7 x 3?", "21", "24", "25", "A" ],
	[ "What is 8 / 2?", "10", "2", "4", "C" ]
];
function _(x){
	return document.getElementById(x);
}
function renderQuestion(){
	test = _("test");
	if(pos >= questions.length){
		test.innerHTML = "<h2>You got "+correct+" of "+questions.length+" questions correct</h2>";
		_("test_status").innerHTML = "Test Completed";
		pos = 0;
		correct = 0;
		return false;
	}
	_("test_status").innerHTML = "Question "+(pos+1)+" of "+questions.length;
	question = questions[pos][0];
	chA = questions[pos][1];
	chB = questions[pos][2];
	chC = questions[pos][3];
	test.innerHTML = "<h3>"+question+"</h3>";
	test.innerHTML += "<input type='radio' name='choices' value='A'> "+chA+"<br>";
	test.innerHTML += "<input type='radio' name='choices' value='B'> "+chB+"<br>";
	test.innerHTML += "<input type='radio' name='choices' value='C'> "+chC+"<br><br>";
	test.innerHTML += "<button onclick='checkAnswer()'>Submit Answer</button>";
}
function checkAnswer(){
	choices = document.getElementsByName("choices");
	for(var i=0; i<choices.length; i++){
		if(choices[i].checked){
			choice = choices[i].value;
		}
	}
	if(choice == questions[pos][4]){
		correct++;
	}
	pos++;
	renderQuestion();
}
window.addEventListener("load", renderQuestion, false);
</script>
</head>
<body>
<h2 id="test_status"></h2>
<div id="test"></div>
</body>
</html>
  #2 (permalink)  
Antiguo 12/06/2015, 09:24
Avatar de IsaBelM
Colaborador
 
Fecha de Ingreso: junio-2008
Mensajes: 5.032
Antigüedad: 15 años, 10 meses
Puntos: 1012
Respuesta: Variable rara u objeto desconocido

Son variabes. Puedes usar la palabra reservada var una sola vez, siempre y cuando le sigua una coma (,) en lugar de un punto y coma (;)

Prodrias hacer
var a = 0;
var b;
var c = 2;
__________________
if(ViolenciaDeGénero) {alert('MUJER ASESINADA');}
  #3 (permalink)  
Antiguo 12/06/2015, 10:19
Colaborador
 
Fecha de Ingreso: septiembre-2013
Ubicación: España
Mensajes: 3.648
Antigüedad: 10 años, 7 meses
Puntos: 578
Respuesta: Variable rara u objeto desconocido

Simplemente declara o inicializa las variables para poderlas acceder después.
  #4 (permalink)  
Antiguo 12/06/2015, 10:52
 
Fecha de Ingreso: junio-2015
Mensajes: 14
Antigüedad: 8 años, 10 meses
Puntos: 0
Respuesta: Variable rara u objeto desconocido

Cita:
Iniciado por IsaBelM Ver Mensaje
Son variabes. Puedes usar la palabra reservada var una sola vez, siempre y cuando le sigua una coma (,) en lugar de un punto y coma (;)

Prodrias hacer
var a = 0;
var b;
var c = 2;
O sea, que la primera variable sería: "pos=0" la segunda: "test" y así hasta "correct=0" ?
Entonces sólo están definidas la primer y la última? Que son pos y correct , las demás no están definidas. Es así?

Gracias.
  #5 (permalink)  
Antiguo 12/06/2015, 10:56
Colaborador
 
Fecha de Ingreso: septiembre-2013
Ubicación: España
Mensajes: 3.648
Antigüedad: 10 años, 7 meses
Puntos: 578
Respuesta: Variable rara u objeto desconocido

Nótese que a las variables que no se les asigna un valor concreto quedan por defecto undefined.
  #6 (permalink)  
Antiguo 12/06/2015, 11:02
 
Fecha de Ingreso: junio-2015
Mensajes: 14
Antigüedad: 8 años, 10 meses
Puntos: 0
Respuesta: Variable rara u objeto desconocido

Cita:
Iniciado por PHPeros Ver Mensaje
Nótese que a las variables que no se les asigna un valor concreto quedan por defecto undefined.

Es lo que pregunte en la pregunta anterior.

O sea que sólo esta definida la primera y la última. Pos y correct, las demás no. Es así?

Gracias.
  #7 (permalink)  
Antiguo 12/06/2015, 11:06
Colaborador
 
Fecha de Ingreso: septiembre-2013
Ubicación: España
Mensajes: 3.648
Antigüedad: 10 años, 7 meses
Puntos: 578
Respuesta: Variable rara u objeto desconocido

Cita:
Iniciado por bojanm599 Ver Mensaje
Es lo que pregunte en la pregunta anterior.

O sea que sólo esta definida la primera y la última. Pos y correct, las demás no. Es así?

Gracias.
Puedes comprobar tú mismo que sí que es así.
  #8 (permalink)  
Antiguo 12/06/2015, 11:12
 
Fecha de Ingreso: junio-2015
Mensajes: 14
Antigüedad: 8 años, 10 meses
Puntos: 0
Respuesta: Variable rara u objeto desconocido

Cita:
Iniciado por PHPeros Ver Mensaje
Puedes comprobar tú mismo que sí que es así.
Ok. Muchas gracias.

Etiquetas: test
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 23:53.