존재하지 않는 "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
위처럼 먼저 hello를 선언해줘야 한다.
예시 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
(* 함수를 사용하기 위해 할당한 메모리 공간이 함수가 끝나면서
해제되어 그 부분의 메모리를 참고 할 수 없게 되기 때문에 전역 변수가 아닌 경우는 사용 할 수 없게 되는 것.)
'DEV :: > Etc' 카테고리의 다른 글
| 우분투 - java 설치 삭제, 버전 및 경로 확인, 환경 설정 방법 (0) | 2023.04.07 |
|---|---|
| VirtualBox 버추얼박스 가상머신 위 Ubuntu 우분투 설치 방법 및 kernel panic not syncing 에러 해결, 화면 사이즈 조절 방법 (0) | 2023.04.03 |
| 윈도우11 가상머신 VirtualBox 설치 방법 (0) | 2023.04.03 |
| STS 에서 SVN 소스 update 시 충돌 해결 방법 (0) | 2023.03.27 |
| Web server failed to start. Port 8080 was already in use. 이미 사용중인 포트죽이기/서비스중지하기 (0) | 2023.03.26 |
댓글