“X”라는 존재하지 않는 변수를 참조하는 동안 오류가 발생했습니다.
즉, 어딘가에 선언되지 않은 변수를 사용하고 있다는 뜻입니다.
빨리 찾아서 해결하세요.
예 1
hello.substr(0,2); // Uncaught ReferenceError: hello is not defined
이 시점에서 변수 hello가 선언되지 않았기 때문에 메서드를 실행할 수 없습니다.
var hello = "hello";
hello.substr(0,2);
console.log("hello는 ", hello.substr(0,2)); // hello는 he
위와 같이 먼저 인사를 해야 합니다.
예 2
또한 이 오류는 함수 내부에 정의된 변수를 함수 외부에서 사용하려고 할 때도 발생합니다.
function numbers () {
var num1 = 2,
num2 = 3;
return num1 + num2;
}
console.log(num1); // ReferenceError: num1 is not defined
함수 내에서 정의된 변수는 함수 내에서만 사용할 수 있습니다.
그러나 아래와 같이 전역 함수에서 전역 변수를 사용할 수 있습니다.
var num1 = 2,
num2 = 3;
function numbers () {
return num1 + num2;
}
console.log(num1); // 2
(* 함수 사용을 위해 할당된 메모리
해제되어 그 부분의 메모리를 참조할 수 없기 때문에 전역 변수가 아니면 사용할 수 없습니다.)
