인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

인프런 커뮤니티 질문&답변

dlwhd5717님의 프로필 이미지
dlwhd5717

작성한 질문수

[리뉴얼] 코딩자율학습 제로초의 자바스크립트 입문

셀프 체크 - 공 색칠하기

함수 선언 질문입니다

작성

·

197

0

function colorChange(standard, color) {
  if (standard > 10) {
    span.style.color = color;
  }
}
const showBall = (number, $target) => {
  const span = document.createElement("span");
  span.className = "ball";
  span.innerHTML = lotto[number];
  // colorChange(lotto[number], "red"); - 오류난 코드 
  function colorChange(standard, color) {
    if (standard > 10) {
      span.style.color = color;
    }
  }
  $target.append(span);
};

for (let i = 0; i < lotto.length - 1; i++) {
  setTimeout(() => showBall(i, $result), (i + 1) * 1000);
}

강의 듣고 제가 설정해놓은 값에서 한번 바꿔봤는데요 (저는 파라미터를 태그로 안하고 color를 지정을 해봤는데요) span이 지정이 안되었다고 오류가 나는데 저 코드랑 아예 안에서 함수 지정하고 실행한거랑 차이점이 뭔지 궁금합니다..

답변 1

0

제로초(조현영)님의 프로필 이미지
제로초(조현영)
지식공유자

정확한 오류메시지가 뭔가요? 그리고 colorChange를 왜 두번 만드셨나요?

dlwhd5717님의 프로필 이미지
dlwhd5717
질문자

두번 만든건 실수로 안 지웠습니다! span is not defined at colorChange at showBall 이라고 뜹니다

제로초(조현영)님의 프로필 이미지
제로초(조현영)
지식공유자

위에 걸 지우신거죠? 위에 걸 지우시면 돼야 정상입니다.

제로초(조현영)님의 프로필 이미지
제로초(조현영)
지식공유자

아.. 아래걸 지우신거면 위에 코드에는 span이 없어서 에러납니다. 스코프 강좌 보시면 됩니다.

dlwhd5717님의 프로필 이미지
dlwhd5717
질문자

감사합니다!

dlwhd5717님의 프로필 이미지
dlwhd5717

작성한 질문수

질문하기