WEB2 - JavaScript

객체예고

소스코드

변경사항

댓글

댓글 본문
작성자
비밀번호
  1. console.log
    function BodySetColor(color){
     document.querySelector('body').style.color = color;
    }

    function에 있는 함수명은 "BodySetColor" 인데,
    nightDayHandler 함수에서 불러오는거는 "BodysetColor" 이네요
    "set" 글자의 대소문자가 달라서 오류나는거에요~
    대화보기
    • 돼지천재
      감사합니다.
    • 향숙이
      상상의 나래를 펼쳐버렸다. ..ㅠㅠ
    • 타겟조준완료
      바디 배경이랑 글꼴 색 바꾸기 위해 target부분을 함수로 올릴때, 그 함수가 target을 못읽어서 "document.querySelector('body');"을 복붙하셨는데,
      var target = document.querySelector('body');을
      함수보다 위에, 즉 맨위에 먼저 선언하고 그대로 하면 target이라 써도 작동하던데,
      혹시 이렇게 해도 되는건가 궁금합니다!
      아니라면 관습상 어떻게 해야하는지도 알려주세요!
    • twinpooh@gmail.com
      카렌 에델 웅 완료
    • 맨땅맨
      아앗 저도 이거 궁금하네요
      깔끔해서 좋은거 같아요
      대화보기
      • asdqwer123
        감사합니다.!
      • 감사합니다^^!!
        20180831
      • 명훈이짱
        동영상 시작하자마자 오른쪽에 목록같은 것을 보여주는 프로그램 이름이 몬가요 ??
        아시는 분 알려주세요 ㅜㅜ
      • naninem
        JavaScript에서 객체는 폴더이다.

        라고 일단 알아두겠습니다.
      • 낄낄낄
        이런경우 소스를 직접 보여주시면 빠른 도움을 드릴수있을것 같습니다.
        대화보기
        • 낄낄낄
          예전에 이쪽까지 보고 손을 놨다가
          정말로 이게 왜 필요한지를 충분히 오래 느끼고 다시 공부를 시작해 여기를 오니
          예전에 하신 말이 생각나네요 .
          눈으로 박하사탕을 먹는 기분

          욕심내지않고 천천히 손에서 놓지않고 꾸준히 공부하렵니다.
        • 결과는 같아도.. 코드의 질은 다를수 있네요. 처음부터 질좋은 코드를 생각해내는 사고는 어떻게 해야 할수 있을까요?
          머리가 좋아야 겠죠? ㅠ ㅠ
        • 로버트한
          많이 어려워 졌어요 ^^
        • 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일차 _네 번째 강의 >> --> 완료!


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

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

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

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

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

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

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

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

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

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