소환사쇽쇽
2k
2021-09-17 14:28:37
1
111

자바스크립트 구문 해석이 잘 안 됩니다.



var maxTime = 0;
$(document).ready(function (){
	maxTime = <%=request.getSession().getMaxInactiveInterval()%>
	updateTime();
});

function updateTime() {
	var remainTime = eval(--maxTime);
	$('#time').html( remainTime );
	if(remainTime > 0) {
		setTimeout("updateTime()", 1000);
	}
}

updateTime 함수는 전자정부프레임워크 컴포넌트에 있는 것이고

그것을 사용하는 윗부분은 다른 사람이 작성한 것입니다.

"maxTime 값이 정수로 나오고 eval(--maxTime)하니깐 하나가 적어지고 그 값을 'time' 아이디를 가진 돔에 기입하고 정수값이 아직 0보다 크면 해당 구문을 1초 뒤 다시 실행하라."

로 해석되는데 의미가 있나 싶어서요.

다른 함수하고 상호작용하는 것도 아니어서 의미가 불필요하다 생각되는데 지우려니 제가 뭘 모르는 것이 아닐까 걱정 됩니다.

그리고 eval 함수가 사용되었는데 찾아보니 위험해서 사용하면 안 되는 함수라고 합니다. 문자열을 코드화 시켜서 실행할 수 있네요. 그런데 위 처럼 사용하는 것도 그런 위험요소에 들어가는지 궁금합니다.


0
  • 답변 1

  • 맛스타
    160
    2021-09-17 23:07:13

    1. 남은 시간을 화면에 표시하는 로직인 것 같은데요.. 그 기능이 불필요하면 제거해도 되지 않을까요?..

    2. eval()을 왜 썼을까요? 안써도 된다고 생각합니다.

  • 로그인을 하시면 답변을 등록할 수 있습니다.