WEB2 - JavaScript

객체예고

소스코드

변경사항

댓글

댓글 본문
작성자
비밀번호
  1. hyuna
    결과는 같아도.. 코드의 질은 다를수 있네요. 처음부터 질좋은 코드를 생각해내는 사고는 어떻게 해야 할수 있을까요?
    머리가 좋아야 겠죠? ㅠ ㅠ
  2. 로버트한
    많이 어려워 졌어요 ^^
  3. Samual
    BodysetColor is not defined

    말 그대로 BodysetColor가 정의되어있지 않다는 소리네요.

    해당 함수가 제대로 선언되었는지 확인해보면 될것같습니다.
    대화보기
    • zzuccumi77
      소스코드에서 자바스크립트 안에서 돌아가는 css말구요, 즉 자바스크립트 제거하고도
      마크업만 돌려도 글자에 색상이 들어가 있는 건 왜 그런거죠?? css불러오는 것도 없고 태그에 스타일 먹힌 것도 없는데요.

      반대로 h1태그에 컬러값을 줘도 안먹는 이유는 뭔가요?? border도 먹고 다른건 다 먹혀도 컬러만 안먹히는게 스크립트 때문인거 같은데 맞나요? h1에 css로 컬러를 먹이려면 어떻게 해야하나요?
      답변해주시면 감사하겠습니다~
    • burntalmond
      함수의 대소문자를 처음 정한대로 쓰시지 않은 것이 문제인것 같습니다

      아래서 10번째 줄에
      BodysetColor('white');는 BodySetColor('white');로 바꾸시고

      그 아래아래 줄
      LinkssetColor('powderblue');도 LinksSetColor('powderblue');

      마지막 네줄은 set을 전부 Set으로 바꾸셔야 할 것 같습니다.
      BodysetBackgroundColor('white');
      BodysetColor('black');
      self.value = 'night';
      LinkssetColor('pink');
      대화보기
      • cheryl
        제가 강의보면서 짠 코드로는 동작이 안되길래 이고잉님이 짠 코드 붙여넣기 하고 브라우저에서 조회했는데 여전히 안되네요..콘솔창에서 확인해 보니 아래 메시지가 뜹니다 ㅠㅠ 혹시 무슨 문제인지 아시는 분 있나요?

        Uncaught ReferenceError: BodysetColor is not defined
        at nightDayHandler (jscript.html:26)
        at HTMLInputElement.onclick (jscript.html:40)

        <코드 원문>
        function LinksSetColor(color){
        var alist = document.querySelectorAll('a');
        var i = 0;
        while(i < alist.length){
        alist[i].style.color = color;
        i = i + 1;
        }
        }
        function BodySetColor(color){
        document.querySelector('body').style.color = color;
        }
        function BodySetBackgroundColor(color){
        document.querySelector('body').style.backgroundColor = color;
        }
        function nightDayHandler(self){
        var target = document.querySelector('body');
        if(self.value === 'night'){
        BodySetBackgroundColor('black');
        BodysetColor('white');
        self.value = 'day';
        LinkssetColor('powderblue');
        } else {
        BodysetBackgroundColor('white');
        BodysetColor('black');
        self.value = 'night';
        LinkssetColor('pink');
        }
        }
      • 이중인격자
        강의 올려주신것들 언제나 잘 보고 있습니다.
        코딩에 관해 설명들이 어려운 단어들이 많이 나와서 이해하는데 힘들었는데
        실생활에서 자주 쓰이는 용어들로 풀어서 설명을 해주시는거 듣고나서는
        한결 더 쉽게 이해가 가는거 같습니다.
        강의 감사합니다.
      • 스페이스몽키
        잘 봤습니다. 감사해요!
      • 옥슬이
        갈수록 태산이군
      • jayxwoo
        강의 잘들었습니다. 감사합니다.

        마지막에 document.querySelector('body').style.color = color; 이 부분에서
        객체안에 속해있는 함수는 method라고 부르고,
        "우리가 작성한 이 코드는 현재 동작하지 않는다"고 하셨는데..
        그럼 브라우저에 결과가 올바르게 출력되지 않아야 하는데 잘 출력 됩니다...

        뒤에 객체 수업을 더 들으면 이해 될 수도 있겠네요.
      • 이하빛
        객체를 폴더로 보는 것이 재밌었어요! 깔끔하게 정리되는 모습이 재밌어요~!
        직접 만들어보라고하면 못하겠지만, 강의보면서 코드를 보고 이해하는 정도에서 만족하고있습니다ㅜ0ㅜ
        (100% 이해했다고 말씀은 못드리지만요...ㅎㅎ)
        오늘 강의도 감사합니닷!!
      • 우탄
        혹시 아시는분,,, 왜 크롬 콘솔의 오류내용과 에디터의 줄 번호가 서로 다른걸 의미하나요ㅎ

        <크롬 콘솔>
        EGOING.html:23 Uncaught ReferenceError: Body is not defined
        at nightDayHandler (EGOING.html:23)
        at HTMLInputElement.onclick (EGOING.html:43)
        nightDayHandler @ EGOING.html:23
        onclick @ EGOING.html:43

        <아톰 에디터>
        23 BodySetBackgroundColor('black');
        43 <ol>
        대화보기
        • 우탄
          ..... 이것만 보고 잘랬는데ㅠ.ㅠ
        • 강의 고마워요
        • 정중식
          잘봤습니다
        • 장군
          camelCase라는 코드작성법을 사용해서 그런듯합니다!
          대화보기
          • 라울
            감사합니다!
          • 궁금한것이 있는데요. 대문자 S를 소문자 s로 바꾸셨는데 그리고 코딩에 보면 중간에 대문자로 쓰여져 있는데
            대문자로 써야만 하는 건가요?
            대문자와 소문자 차이가 있나요?
            답변해주시면 감사하겠습니다.
          • Mingi Son
            180214 감사합니다
          • 180211 감사합니다!
          • PassionOfStudy
            << 2018-01-20 - 3일차 _네 번째 강의 >> --> 완료!


            객체라는 것에 관심이 생겼습니다. ㅎㅎ
          • 감사합니다~
          • 이유리
            감사합니다.
          • -정리-

            - 객체는 함수라는 기반 위에 존재.

            - 객체가 가지고 있는 여러가지 특성중 하나가 '정리 정돈의 수단'
            변수나 함수같은 코드가 하나의 페이지에 아주 길어지다 보면, 그것을 정리하기 위해 '객체'를 쓴다.

            - 함수의 이름을 지정할때 set을 붙여서 많이 쓴다.

            - 기존의 코드를 함수화 시키는 의의
            코드가 나타내는 의미가 명확할때는 함수화 안시켜도 무방하지만,
            한줄이라도 그 의미가 조금 불명확하거나 시간이 지나 무슨 뜻인지 파악하기 어려울때,
            함수를 통해 그 로직의 '이름'을 주어 알기쉽게 할수 있다.

            - 같은 이름의 함수를 만들면, 아래에 있는 함수가 위의 함수를 덮어 씌워 버린다.

            - 새로 만들 함수의 이름이 기존에 존재하는 함수이름 인지 파악하기 어려워진다.(코드가 아주 길때)
            만약 새로 같은 이름의 함수를 만들어 버렸을 시에, 심각한 문제를 초래 할 수 있다.

            - 이름을 바꿔서 함수를 만드는 것도 방법이지만, 이름을 겹칠때도 사용할수 있게 '객체'를 만들었다.

            - 객체는 폴더라는 관점에서 바라봐도 무방하다. (서로 연관된 함수와 변수를 담아 놓는 수납상자)

            - 객체의 샘플 코드
            document.querySelector()
            document 가 객체.
            querySelector() 가 함수.
            !! 객체에서 함수를 '메소드(method)'라 부른다.
          버전 관리
          egoing
          현재 버전
          선택 버전
          graphittie 자세히 보기