개인 프로잭트 진행중에 변수 선언 관련해서 계속 undefined가 나오길래 이리 저리 검색도 해봤는데 일주일간 해결을 못했습니다.
혹시나 싶어서 간단하게 다른 ejs 파일로 변수 선언 테스트했을땐 잘되는데 아래 제가 작업하는 ejs 파일에선 변수 선언이 이상하네요.
전역변수 선언 후 함수 안에서 사용하고 싶은데 변수가 undefined로나옵니다.
이것 저것 해보다가 변수 선언을 함수 위가 아닌 script 태그 바로 아래에서 사용했더니 나오더군요 이유가 뭔지 모르겠습니다.
js에선 호스팅을 해서 변수는 위로 올려서 먼저 선언한다고 알고있는데 그게 아닌건가요?
<script> // 행 삽입 기능
var abc = 123; // 변수 출력시 정상 작동
var newRow = HTMLTableElement.insertRow(); // 테이블에 새로운 행 추가
var newCell= HTMLTableRowElement.insertCell(); // insertRow()로 생성한 row에 cell을 추가
var deleteRow = HTMLTableElement.deleteRow(); // 테이블의 행을 삭제
var cba = 123; // 변수 출력시 undefined 에러
function addRow(){ //행 추가 기능
...(생략)
</script>