코드 링크는 이거얌! 내가 설명하는 말이 이해 안 되면 한번 어떻게 작동하는건지 봐줘!
https://jsfiddle.net/t8cgL73y/1/
궁금한 점은..내가
1. 위에 정의된 data를 (slider 다 만들면 몽고db로 연결할 예정이나 일단 js에 넣어둔 상태) 일단 list로 만든다음(const slider_list 즉시실행함수)
2. 그걸 3번 반복해서 랜더링 해주고자 했음(makeClone 즉시실행함수)
해당 부분 코드는 다음과 같구
난 이 둘이 역할이 다르다고 판단해서 함수를 2개로 나누어준 상태야
근데 이 둘의 순서가 바뀌면 아예 작동을 하지 않아. 왜냐면 위의 함수가 실행되고 그다음 함수가 실행되니까..
이런 경우에는 그럼 하나로 묶어주는게 베스트인걸까? 나중에 혹시라도 저 순서를 바꾸어버리면 에러 터진거니..?
즉시실행함수를 잘 안써봐서 어렵다링.....ㅠㅠ
안티패턴이라고 하면, 혹시 즉시실행함수로 할때는 한 함수에 여러 역할이 있어도 그냥 묶어버리는지 궁금해!!
글만 봐선 함수를 만들어서 실행하는 이유가 있는지 잘 모르겠어
아 html에 넣지 않구 왜 js로 append 했냐궁????
그렇게 구현한 이유는, 내가 현재 케러셀(무한 스크롤 슬라이더)를 만드는 중인데, 그걸 구현하려면 데이터를 3번 반복해주어야 해! 그래서 js 함수로 데이터를 받고 구현한다음 for문으로 3번 반복해줬어! 그리구 저런 슬라이드 데이터는 백앤드쪽에서 오니까 js로 구현하는게 맞다구 판단햇구!!
아니? 일회용인데 함수를 만들어서 IIFE로 쓰는 이유가 없어 보여서. var을 쓰거나 async 함수인 것도 아닌데 스코프를 만들고 싶은 거라면 block statement로 충분하지 않을까?
움.. 사실 내가 전역에 아예 안짜고 전부 함수로 짜기도 하고 런타임때 함수를 실행하게끔 해서 이벤트 호출할때 문제없게끔 만들려구 저렇게 쓰긴햇어..!
움 보통은 전역에두 많이 하나!? 너무 전역에 아무것도 안 두려고 하는것도 별로인가
취향이라면 상관없겠지만 전혀 함수로 구분할 이유가 없어 보여서. 하여튼 딱히 즉시실행이란 점에 의미를 둘 필요는 없는 것 같고, 개인적으로 순서가 문제라기보단 유연성이 떨어지는 게 문제가 아닐까 해.
헉 ㅠ ... 혹시 어떤 점에서 유연성이 문제인거야..!? 함수로 만들어서..?
https://jsfiddle.net/g09a86dy/
나였다면 대충 이런 느낌으로 짰을 것 같네
그리고 코드 길이 조금이라도 길어지면 개인적으로 jsfiddle보단
https://codesandbox.io/
추천해
헐 대박.... 와 코드 ㄹㅇ 개깔끔하다...................... 와 reduce를 써야겠다는 생각을 한개도 안 했었는데, 와 sliderlist 코드가 진짜루 좋다리...... ㅠㅠㅠ 이렇게 자세하게 짜줄줄 몰랏는데 진짜 고마워.... 저렇게 item이랑 list를 나누어준게 훨씬 낫다...... 진자루 감사감사 ;ㅅ;!!!!!!!!! 진짜루 고맙다리......................... 이번에 너 코드 덕분에 많이 배웠다리... 나중에 여러개 반복해야 할때 저렇게 짜줘야겠다.. 진짜 대박이다 ㄳㄳ.....ㅜㅜㅜㅜㅜㅜ..... 진짜루 새벽에 너무 고맙다야
오케오케!!!1 담에는 코드샌드박스로 올릴게 !!! 조은 사이트 추천 고맙다리!!!!!!1
https://jsfiddle.net/t8cgL73y/1/
니왜아직도안자냐
흐르르 나 어제 5시에 일어났어!!
해당 댓글은 삭제되었습니다.
우 깜짝아!!!!
간단히 봐줌 댓글로는 구찬 ㅋㅋ
ㅇㄴ 근데 저 지금 독서실이라 ;ㅅ; 지금은 못하는데..!! 혹시 저 괜찮으시다면 나중에 저거 구현한다음 피드백부탁드려두 될가요!? 지금은 아직 프로젝트 개ㅆㅆㅆ초반부라..
ㅇㅋ
그냥 함수 두갠데 안티패턴이라고 지칭하기는 좀 많이 간거 같음 글고 즉시실행함수? 뭐지? 익명함수 바로 실행한건가? 하다가 코드보니까 그냥 정의랑 동시에 바로 실행한거네 그냥 정의하고 아래에다가 호출하는거랑 (func(){})() 이렇게 바로 실행하는거랑 아무차이 앖잔어 따라서 즉시실행한다는 거에 큰 의미 안둬도 될듯함
맞아맞아! 사실 두 함수의 실행 순서를 바꾸면 문제가 발생한다는 말이라, 함수1() 함수2() 이렇게 써야 잘 작동하는걸 함수2() 함수1()로 하면 문제가 생긴다는걸 말하는거랑 같긴해! 감사하다링!
기능에 의해 두개로 쪼갰자너 근데 순서가 보장되는게 걱정이잖아 그럼 순서를 지켜서 호출하는 함수를 하나 더 만들어 그럼 되지
헉..... 그거 가능하려나.... 낑.... 어렵다리.................차라리 그냥 일반함수로 만들고 그렇게 해버리는게 맞나...................... 그게맞는거같기도하고 끄응... ㄳㄳ.......
위 slider_list를 만들어주는 익명함수를 그냥 함수로 만들고 아래 make_clone 이랑 순서 지켜서 호출한거를 함수로 묶으면 되자너. html찍는 기능 , 새번호출하는 기능 , 두개 만들었는데 새로 필요한 기능이 “순서대로 호출하는기능” 이게 필요한거고 그것도 만들면 되지
그 말 들으니 너 말이 맞는것 같삼.... 그리고 익명함수를 쓴 이유가 순서 보장이라는 차원에서 한건데, 지금 생각해보면 오히려 저렇게 즉시실행함수 쓰니 더 문제가 되는거같구 라리 너가 말한대로 맨위에 그렇게 만든다음 함수를 호출하는게 훨 나을거같삼.......... ㄳㄳ....
기능을 쪼갠건 좋은 습관임. 프론트든 백엔드든 함수는 최소한의 자기기능을 하고 끝내는 식으로 짜는게 좋음. 글고 그렇게 만들어진것을 블럭조립하듯이 조합하며 쌓으면서 만드는거
흐흐 자바를 햇더니 oop적으로 바뀌엇다리.... 흐르르흐르르 휴 빨리 휼륭한 코드조립사가 되어야겠다리!!! 아직은 너무 부족하다리...... 코드를 짤때마다 나의 부족한 점을 깨닫고 잇어..... ;ㅅ; 고맙다리 ^~~~^!!!!
125.129 ㄳㄳ!!!! 진짜 빨리 만들겟슴 ㅠㅠ 생각보다 원티드 저거 너무 어렵다링....원래 구현했던거 css 지식이 부족해서 js로 하면 ㅈㄴ 이상하게 작동해서......
즉시 실행 함수는 과거 js에서 모듈 기능이 제대로 되어 있지 않을 때, 함수 범위 스코프만 적용되면 es5 시절의 모듈화를 위한 기법이었음
그래서 지금 딱히 저걸 써야할 필요성이 있을까? 싶긴함. 그리고 표현하려는 부분 & 이미지 슬라이드(캐러셀)을 돌리기 위해 3번 반복 이렇게 2가지를 분리한거같은데
뭐 무한 이미지 슬라이드 구현 방식은 각자 하기 나름이니까 그려러니 함 순서를 반드시 지켜야 하는 것이 마음에 걸려서 그러는거 같은데, 그정돈 괜찮음 정 마음에 걸린다면 외부 에서는 저걸 생성하는 함수 하나만 사용하게끔하고, 그 함수 내부에서는 너가 작성한 2개의 함수를 순서맞춰서 호출하면 되는거임
사실 저거 각 el에 대해 또 함수들 만들고 이벤트 걸고 그래야하는데, 그 이벤트가 잘 실행될 수 있게끔 보장하고자 저렇게 즉시실행함수를 건건데.. 즉시실행함수가 es5시절 방식이구나................
헉 저기 위에 39.7이 한 말 말하는거지!? 움... 확실히 그게 나은거 같아.... ㄳㄳ 그리고 순서 맞춰서 호출을 하게 된다면, 즉시실행함수를 그냥 함수로 꺼내줘야 할거같구............ ㄳ!!!!
아무래도 댓글로만 하려니 역시 표현을 다 하기가 어렵네 ㅋㅋㅋ 말이 편함 여튼 힘내고 나중에 그럭저럭 만들어지면 올려봐 그때 만약 갤질 하며 놀고 있으면 리뷰 해줄께
헉 흐흐흐 응응!!!! ^~~~^ 나중에 너 아이피 발견하면 너냐고 물어볼게 ^~~~^!!!! 흐흐흐 아마 월요일 안으로 반응형 고려 안 한거까지 할수 있지 않을까 싶어...... 조언해준다구 해줘서 고맙다리!!!!!!! 빨리 하겟다리!
해당 댓글은 삭제되었습니다.
잉????????????????????? 저거 그냥 렌더링때 바로 실행되어지는 함수인뎅???
해당 댓글은 삭제되었습니다.
ㅇㅅㅇ!???
외 않자!!!!!!!!!!!!!! 휴우휴우 나는 정말 아직 배울점이 많다는걸 다시금 느껴..... 휴우휴우 ㅠㅠ.......... 아직 나는 아기인가봐
아기개발자 아기프공이
흐흐 결국 못잣구나 미야우
잠이 안!와!! 파이티이이이잉