[[TableOfContents]] * ì°¸ê°€ìž : [김수경], [ë°•ì •ê·¼], [서지혜], [윤종하], [ì •ì˜ì •] == 1ì›” == === 출ì„ì²´í¬ === || || 4ì¼ || 7ì¼ || 11ì¼ || 14ì¼ || 18ì¼ || 21ì¼ || 25ì¼ || 28ì¼ || || [김수경] || O || O || O || O || O || O || O || X || || [ë°•ì •ê·¼] || O || O || O || O || X || X || X || X || || [서지혜] || O || O || O || O || O || O || O || X || || [윤종하] || X(몸살) || X(ì‹ ê²€) || O || X || O || X || O || O || || [ì •ì˜ì •] || O || X(공사) |||||||||||| ''ì¤‘ê°„ì— ë¹ ì§'' || === 7ì¼ === * ê³¼ì œ : 1장 ~ 7장 공부해오기 * 3ì‹œ ~ 6ì‹œ @ 6피 * 김수경 * ì˜ë¬¸ì * varë¡œ ìƒì„±í•œ 변수는 deleteí• ìˆ˜ ì—†ë‹¤ëŠ”ë° ì‹¤ì œ 해보니 ë˜ì—ˆë‹¤. * for eachë¬¸ì„ ì‚¬ìš©í•˜ëŠ” 법. * ì•Œê²Œëœ ê²ƒ * ë¸”ë¡ ë‹¨ìœ„ì˜ ìœ íš¨ë²”ìœ„ê°€ 없다. * var a = [1,,3]; a.length -> 3, var a = [,,]; a.length -> 2; ì¸ ì´ìœ * ë¦¬í„°ëŸ´ì˜ ì •ì˜ * ì¸ìƒê¹Šì—ˆë˜ 것 * var a; -> 지ì—변수, a; -> ì „ì—변수 * void ì—°ì‚°ìžë¥¼ 사용하면 피연산ìžì˜ ê°’ì— ìƒê´€ì—†ì´ undefined를 반환한다. * ë‹¤ìŒ ì½”ë“œ 실행 ì‹œ 첫 ì¶œë ¥ì€ undefinedì´ê³ ë‹¤ìŒ ì¶œë ¥ì€ localì´ë‹¤. {{{ var scope = "global"; function f(){ alert(scope); var scope = "local"; alert(scope); } }}} * ë°•ì •ê·¼ *ì˜ë¬¸ì (í•´ê²°) * ë ˆì´ë¸”ì˜ ì˜ë¯¸ -> Cì˜ goto와 비슷. * try/throw/catch/finally ì˜ ì‚¬ìš© -> finally는 ëª¨ë“ try, catch를 나와서 사용 * 가비지 ì»¬ë ‰ì…˜ -> ëª¨ë“ ì¸ìŠ¤í„´ìŠ¤ê°€ 사ë¼ì§„ 쓸모없는 '가비지'는 알아서 처리함 * ì¸ìƒê¹Šì—ˆë˜ì * 문ìžë‚˜ 숫ìž, ""사ì´ì— 들어가 ê²ƒë“¤ì„ '리터럴'ì´ë¼ê³ 부르며 ë”°ë¡œ 구분한다. * new bolleon(false)는 flase와 같지 ì•Šê³ ê°ì²´ë¡œì¨ ì¸ì‹!! if(new booleon(false)) 따위로 ì“°ë©´ ì•ˆë¨ * 변수 ì„ ì–¸ì‹œì— 'var a=3'ê°™ì€ ì‹ì€ 지ì—변수, 'a=3' ê°™ì€ì‹ì€ ì „ì—변수 ì´ë‹¤. * 서지혜 * ì˜ë¬¸ì * varë¡œ ì„ ì–¸í•œ 변수는 deleteê°€ 안ëœë‹¤ë”니 ë˜ëŠ”ë°?! * with함수 사용시 ë°œìƒí• 수 있는 ì˜¤ë¥˜ì— ëŒ€í•´ ì•Œê³ ì‹¶ë‹¤...(ì±…ì—서는 ìƒëžµí•¨) * ì•Œê²Œëœ ê²ƒ * var a = [,,];ì—ì„œ aì˜ ê¸¸ì´ê°€ 2ì¸ ì´ìœ (í•´ê²°! 맨 마지막 ì½¤ë§ˆì˜ ë’¤ëŠ” 무시ë¨) * ì¸ìƒê¹Šì—ˆë˜ 것 * ë ˆí¼ëŸ°ìŠ¤ë¡œ 함수를 ì§ì ‘ ë³´ë©´ì„œ 하니까 í•œëˆˆì— ë“¤ì–´ì™€ 좋았다 * 모르는게 ìƒê²¼ì„ ë•Œ 코드를 ì§ì ‘ 타ì´í•‘í•´ 결과를 ë³´ë©° 스터디하니 ì´í•´ê°€ 잘 갔다(굿) * 와 세명ì´ì„œ í•˜ëŠ”ë° 3시간 ê±¸ë ¸ì–´!! ---- * ëŒì•„보기 * 오늘 ìŠ¤í„°ë””ì˜ ì¢‹ì•˜ë˜ ì * 서지혜 - ê³µë¶€í• ë•ŒëŠ” 다 아는 것 ê°™ì•˜ë˜ ê²ƒë„ ì§ì ‘ 설명해보니 잘 ëª¨ë¥´ê³ ë„˜ì–´ê°„ ê²ƒì´ ìžˆë‹¤ëŠ” ê²ƒì„ ì•Œê²Œë˜ì—ˆë‹¤. * 김수경 - 대충 ë³´ê³ ë„˜ì–´ê°”ê±°ë‚˜ 잘 ì´í•´ë¥¼ ëª»í–ˆë˜ ê²ƒë„ ê°™ì´ ìŠ¤í„°ë””í•˜ê³ ê³ ë¯¼í•´ë³´ë‹ˆ ë” ëª…í™•ížˆ 알게ë˜ì—ˆë‹¤. * ë°•ì •ê·¼ - ì§ì ‘ í™”ë©´ì„ ë„워 ì½”ë”©ì„ í•˜ë©° 진행하니 ë” ì´í•´í•˜ê¸° 좋았다. * ë‹¤ìŒ ìŠ¤í„°ë””ì— ì ìš©í•˜ê³ ì‹¶ì€ ì * 서지혜 - ë§ë¡œë§Œ 설명하는 것보단 코드를 ë³´ë©° 설명하ë„ë¡ í•˜ê² ë‹¤. * 김수경 - 집ì—ì„œ ë ˆí¼ëŸ°ìŠ¤ë§Œ 대충 찾아보지 ì•Šê³ ì±…ë„ ì¢€ ì°¸ê³ í•˜ì—¬ ê³µë¶€í•˜ê² ë‹¤. * ë°•ì •ê·¼ - 좀 ë” ì •í™•í•œ ìµœì‹ ìžë£Œë¥¼ ì°¸ê³ í•˜ê² ë‹¤. === 11ì¼ === * ê³¼ì œ : 7ì¼ë‚ ìžì‹ ì´ ë°œí‘œí•œ ë¶€ë¶„ì„ ì§ì ‘ ì‹¤ìŠµí• ìˆ˜ 있는 코드 최소 1ê°œ 짜오기. 7ì¼ ìŠ¤í„°ë”” 불참ìžëŠ” 스스로 챕터 ì„ ì •í•˜ì—¬ 코드를 짜오면 ëœë‹¤. === 14ì¼ === * ê³¼ì œ : 8장 ~ 12장 공부해오기 * 5ì‹œ ~ 7ì‹œ @ 6피 * ë°•ì •ê·¼ * ì˜ë¬¸ì * í´ë¡œì €ì˜ ì •ì˜ì™€ 사용...ã… * ì•Œê²Œëœ ê²ƒ * 최ìƒìœ„ë ˆë²¨ì˜ ë²”ìœ„ì™€ í•¨ìˆ˜ì˜ ì •ì˜ {{{ function func(){ 여기가 최ìƒìœ„ ë ˆë²¨ if(){ 여기는 ì°¨ìƒìœ„ ë ˆë²¨ ì´ê³³ì—서는 í•¨ìˆ˜ì˜ ì •ì˜ê°€ 불가능 하다. } } }}} * ì¸ìƒê¹Šì—ˆë˜ 것 * ìžë°”스í¬ë¦½íŠ¸ì—ì„œ í•¨ìˆ˜ì˜ ì „ë‹¬ì¸ìžê°€ ê°œìˆ˜ì˜ ì œí•œì´ ì—†ë‹¤ëŠ” ì * 함수가 ë°ì´í„°ë¡œì¨ 사용ë 수 있다는ì * var a = new Array(3); * a[0] = function(x) { return x*x; }; * a[1] = 3; * a[2] = a[0](a[1]); //a[2]ì—는 9ê°€ ì €ìž¥ëœë‹¤. * í”„ë¡œí† íƒ€ìž…ì˜ ì •ì˜ì™€ 사용 ìƒì†ë¶€ë¶„ì´ ë‹¤ë¥¸ 언어와는 다르다. * 서지혜 * ì˜ë¬¸ì * í´ë¡œì €ì˜ ì •í™•í•œ ì •ì˜ë¥¼ ì•Œê³ ì‹¶ë‹¤. ìœ íš¨ë²”ìœ„ì™€ 관계있다는 ê²ƒì€ ì•Œì•˜ìŒ * ìŠˆë„ í´ëž˜ìŠ¤ëž€ 함수로서 ì„ ì–¸ë˜ê¸° 때문ì¸ê°€? * ì•Œê²Œëœ ì * Argument는 ì‹¤í–‰ì¤‘ì¸ í•¨ìˆ˜ì˜ ì •ë³´ë¥¼ ì •ì˜í•œë‹¤ : í•¨ìˆ˜ì— ë„˜ê¸°ëŠ” 파ë¼ë©”í„°ê°€ ìœ ë™ì ìž„.. * ì¤‘ì²©ëœ í•¨ìˆ˜ëŠ”(내부 함수) ìµëª… 함수ì´ë©´ì•ˆë¨ * ìžë°”스í¬ë¦½íŠ¸ëŠ” ê¸‰ì¡°ëœ ê¸°ëŠ¥ì´ ëª‡ëª‡ 있는 것 ê°™ìŒ(네임스페ì´ìŠ¤ë¥¼ ê°ì²´ë¡œ ì„ ì–¸í•¨) * 김수경 * ì˜ë¬¸ì * ì•Œê²Œëœ ì === 18ì¼ === * ê³¼ì œ : 8장 ~ 12장 코드 짜보기 or 찾아오기 * 김수경 * ì˜ë¬¸ì * 네임스페ì´ìŠ¤ 사용 ì‹œ org.zeropage.namespace는 ë˜ê³ org.zeropage.namespace.function1ì€ ì•ˆ ë˜ëŠ” ì´ìœ * ìµëª…함수를 사용한 Dynamic programming * 함수 내부ì—ì„œ arguments ê°ì²´ì— 함부로 ì ‘ê·¼í• ê²½ìš° ìƒê¸¸ 수 있는 ë¬¸ì œì * ì•Œê²Œëœ ì * 함수 ì•ˆì— ìµëª…함수 중복으로 쓸 경우 즉시 호출하거나 ë³€ìˆ˜ì— ë„£ì–´ 호출 가능하게 만들어야 한다. * 서지혜 * ì˜ë¬¸ì * 네임스페ì´ìŠ¤ ìƒì„±ì‹œ {}를 해주어야 하는ì´ìœ * 네임스페ì´ìŠ¤ 사용 ì‹œ org.zeropage.namespace는 ë˜ê³ org.zeropage.namespace.function1ì€ ì•ˆ ë˜ëŠ” ì´ìœ * ìžë°”스í¬ë¦½íŠ¸ì—ì„œì˜ ë‹¤ì´ë‚˜ë¯¹ 프로그래ë°ì´ëž€ ë지? * 종하가 ê°€ì ¸ì˜¨ 코드 {{{ Object.prototpye.toString.apply(); // [Object Global] Object.prototpye.toString.apply(o); // [Object Array] }}} * ì•Œê²Œëœ ì * ì¡´ ë ˆì‹ì´ í´ëž˜ìŠ¤ë¥¼ 구현한 코드를 보았다!! * ìžë°”스í¬ë¦½íŠ¸ì˜ ìƒì†ì´ 기존 ê°ì²´ì§€í–¥ 언어와 ë‹¤ë¦„ì„ ì•Œê²Œë˜ì—ˆë‹¤ * 슈í¼í´ëž˜ìŠ¤, 서브í´ëž˜ìŠ¤í™”를 ë°°ì› ë‹¤ === 21ì¼ === * ê³¼ì œ : 13장 ~ 15장 공부해오기 === 25ì¼ === * ê³¼ì œ : Toy Program 짜오기 * 서지혜 * ì´ê±´ í† ì´ë„ 아니다 === 28ì¼ === * ê³¼ì œ : 16장 ~ 18장 공부해오기 == 2ì›” == === 출ì„ì²´í¬ === || || 1ì¼ || 4ì¼ || 8ì¼ || 11ì¼ || 15ì¼ || 18ì¼ || 22ì¼ || 25ì¼ || || 김수경 || O || 취소 || O || O || X || O || || || || 서지혜 || O || 취소 || O || O || X || O || || || || ë°•ì •ê·¼ || X(아파서) || 취소 || O || O || O || O || || || || 윤종하 || X || 취소 || X || X || X || X || || || === 1ì¼ === * CSS, Event, Form Element === 4ì¼ === * 설 ì—°íœ´ë¼ ì·¨ì†Œ === 8ì¼ === * 프로ì 트 ê²°ì • * ë™ë„¤ ë©”ì‹ ì € 앱 === 11ì¼ === * 프로ì 트 ëŒ€ì‹ ì˜¤í”ˆ 소스 코드 분ì„하기로 ê²°ì • * [jQuery], [http://sizzlejs.com/ Sizzle], [https://github.com/douglascrockford/JSON-js JSON-js] 중 ê³ ë¯¼í•˜ë‹¤ 간단한 JSON-js를 분ì„하기로 함 * 분ì„í•œ ë‚´ìš©ì€ ìœ„í‚¤ì— ì •ë¦¬í•˜ê³ ì •ëª¨ì—ì„œ 세미나 하기로 함 === 15ì¼ === * ê³¼ì œ * [https://github.com/douglascrockford/JSON-js/blob/master/json2.js json2.js] 소스 ë까지 ì½ì–´ì˜¤ê¸° : ì–´ë–¤ ê¸°ëŠ¥ë“¤ì´ ìžˆëŠ”ì§€ íŒŒì•…í• ê²ƒ * ìžìœ¨ì 으로 function 3가지 ê³¨ë¼ ì–´ë–»ê²Œ ìž‘ë™í•˜ëŠ”지 ì´í•´í• 것 === 18ì¼ === * ê³¼ì œ * [https://github.com/douglascrockford/JSON-js/blob/master/json2.js json2.js] 소스 ë까지 ì½ì–´ì˜¤ê¸° : ì–´ë–¤ ê¸°ëŠ¥ë“¤ì´ ìžˆëŠ”ì§€ íŒŒì•…í• ê²ƒ * ìžìœ¨ì 으로 function 3가지 ê³¨ë¼ ì–´ë–»ê²Œ ìž‘ë™í•˜ëŠ”지 ì´í•´í• 것 === 22ì¼ === * ê³¼ì œ * [JavaScript/2011년스터디/JSON-js]ì— ì“´ ì˜ë¬¸ì 해결해오기 * 오늘 ë¶„ì„ ëª»í•œ ë‚¨ì€ ë¶€ë¶„ 공부해오기 ---- [JavaScript/2011년스터디]