본문 바로가기

자바스크립트86

[220128] 콜백 함수와 익명함수의 차이점, 콜백지옥 익명함수와 콜백함수의 차이점 익명함수 이름 없이 생성된 함수라고 생각하면 된다. 함수명 대신 변수명에 저장되고, 호출할때 변수명을 사용하면 된다. function을 생략하고 =>을 가진 모양으로도 나타낼 수 있으며, 화살표를 달고있다고해서 애로우 함수라고도 한다. 익명 함수에 대한 자세한 설명글은 아래 게시글에 적어놓음. let abc = function() { console.log('익명함수') } let abc2 = () => { console.log('익명함수') } https://hancoco.tistory.com/75 [220107] 익명함수, arrow함수, 함수가 생성되고 호출되는 순서 목록 1. 함수를 선언하는 여러가지 방법 2. 함수가 생성되는 순서 3. 익명함수 4. 호출되는 순서 함수.. 2022. 1. 28.
[220115] js를 이용한 class="on" 생성/제거하기 목차 1. 클릭으로 class 생성,제거하기 2. 원하는 위치에 생성하기 자바스크립트 그래서 대체 뭘 어떻게 쓰는건데..하다가 드디어 실사용을 하기 시작. 배우자마자 너무 미쳤다..하고 마음속에서 기립박수쳤다. 이걸 이렇게 쓴다고?? 이런 맛에 프로메테우스가 인간한테 불을 준건가. 박수 짝짝짝 손 터지게 치고 앞으로 세바퀴 굴렀다. 미쳤다. [웹페이지는 html, css, javascript 3개로 구현되고 있는데, 자바스크립트는 html을 조정할수 있다]란 말을 실천해보자. 클릭으로 class="on" 생성하기 See the Pen make_class_on by supermint (@ma_ad_shouri) on CodePen. 클릭함으로써 id가 box1인 div를 숨기는 코드다. 클릭을 함으로써 d.. 2022. 1. 15.
[220112] 동기적코드 / 비동기적 코드 / setTimeout(), setInterval() 동기적인 방법와 비동기인 방법은 뭘까? 동기적인 코드 자바스크립트 코드는 보통 동기적으로 실행된다. 마치 책을 읽듯이 위에서 아래로, 왼쪽에서 오른쪽으로 읽어내려오며 코드를 한줄한줄 차례로 실행된다는 뜻이다. 한 코드가 실행 될때까지 다음 코드가 실행되지 않는다는 특징이 있다. 장점은 코드를 파악하기 쉽고, 유지보수, 디버깅이 쉽다. 그래서 단순 목적을 지닌 기기의 프로그래밍에 자주 이용된다. (예 : ATM기계, 키오스크, 단순단말기) 단점은 한 코드의 실행이 오래 걸릴경우 손가락만 빨며 끝나기를 기다려야 한다는 것이다. 처리하는데 10초 처리하는데 10분 처리하는데 1초 이와 같은 코드를 실행한다고 치면, 3번 코드가 실행될때까지 총 10분 10초가 걸릴것이다. 만약 이 같은 일이 쇼핑몰 구매페이지에.. 2022. 1. 12.
[220111] Lv.1 / 짝수와 홀수 문제 사이트 링크: https://programmers.co.kr/learn/courses/30/lessons/12937 코딩테스트 연습 - 짝수와 홀수 정수 num이 짝수일 경우 "Even"을 반환하고 홀수인 경우 "Odd"를 반환하는 함수, solution을 완성해주세요. 제한 조건 num은 int 범위의 정수입니다. 0은 짝수입니다. 입출력 예 num return 3 "Odd" 4 "Even" programmers.co.kr 내 풀이 function solution(num) { let answer = ""; num%2==0?answer="Even":answer="Odd" return answer; } true, false 값이 1, 0 인것을 이용한 풀이 function solution(num) {.. 2022. 1. 11.
[220110] Lv.1 / 최소공배수, 최대공약수 구하기 문제 사이트 링크 : https://programmers.co.kr/learn/courses/30/lessons/12940 코딩테스트 연습 - 최대공약수와 최소공배수 두 수를 입력받아 두 수의 최대공약수와 최소공배수를 반환하는 함수, solution을 완성해 보세요. 배열의 맨 앞에 최대공약수, 그다음 최소공배수를 넣어 반환하면 됩니다. 예를 들어 두 수 3, 12의 programmers.co.kr 문제인식 : 이건 뭐 어디 에? 종이랑 펜을 주면 풀 수 있고, 간단한건 암산으로도 풀 줄 아는데 막상 컴퓨터한테 설명하려니 머리가 터질거같았다. 최대공약수 개념을 학교에서 배운대로 작성하자니, 인간은 나누다가 어느정도 되면 멈추는데 컴퓨터는 멈추지 않잖아??? 이거 뭐 어케해야...???? 그래서 인간의 방.. 2022. 1. 11.
[220110] queryselector, onload, addEventListener, 호출메서드() 목차 1. querySelector 2. addEventListener 3. onload 4. 호출메서드() document.querySelector(selectors); 제공한 선택자 또는 선택자 뭉치와 일치하는 문서 내 첫번째 Element를 반환한다. 일치하는 요소가 없으면 찾지 못한 것이므로 빈 값인 null을 반환한다. selector : 하나 이상의 선택자를 포함한 DOMString. 유효한 CSS 선택자여야만 한다. String과 같은 UTF-16문자열이기때문에 DOMString은 String으로 연결된다. DOMString을 받는 매개변수에 null을 전달하면 보통 문자열로 변환해 "null"이 된다 return : (Object) 제공한 CSS 선택자를 만족하는 첫번째 Element 객체.. 2022. 1. 10.
[220109] 1차 배열, 2차 배열의 합을 forEach, reduce, join으로 해결하기 목차 1. 1차배열의 합 2. 2차배열의 합 주기적으로 배열을 다뤄서 요소들의 합을 내놓으라는 문제를 접하는데, 계속 찾아보고 걔념 잡기 귀찮아서 한번에 정리. 1차 배열의 합 : reduce function a(arr){ return arr.reduce((v,i)=>v+i) } console.log(a([1,2,3,4,5])) 1차 배열의 합 : forEach function a(arr){ arr.forEach(v=>sum+=v); return sum; } console.log(a([1,2,3,4,5])) 1차 배열의 합 : map function a(arr){ arr.map(v=>sum+=v); return sum; } console.log(a([1,2,3,4,5])) forEach랑 map의 차이점.. 2022. 1. 9.
[220108] Lv.1 / 콜라츠 추측 문제 사이트 링크 : https://programmers.co.kr/learn/courses/30/lessons/12943 코딩테스트 연습 - 콜라츠 추측 1937년 Collatz란 사람에 의해 제기된 이 추측은, 주어진 수가 1이 될때까지 다음 작업을 반복하면, 모든 수를 1로 만들 수 있다는 추측입니다. 작업은 다음과 같습니다. 1-1. 입력된 수가 짝수라면 2 programmers.co.kr 내 풀이 let sum=0; do{ if(num==1){break;} //만약 num이 1이면 do문을 빠져나간다 else{ num=((num%2)==0)?Math.floor(num/2):((num*3)+1); //조건이 짝수일때 --> 참이면 2로 나눔, 거짓이면 3을 곱하고 1을 더함 sum++; //do문.. 2022. 1. 9.
[220108] Lv.1 평균값 구하기 문제 사이트 링크 : https://programmers.co.kr/learn/courses/30/lessons/12944 코딩테스트 연습 - 평균 구하기 정수를 담고 있는 배열 arr의 평균값을 return하는 함수, solution을 완성해보세요. 제한사항 arr은 길이 1 이상, 100 이하인 배열입니다. arr의 원소는 -10,000 이상 10,000 이하인 정수입니다. 입출력 예 arr programmers.co.kr 내 풀이 let arr=[1,2,3,4] let sum=0; arr.forEach(v => {sum+=v}); let answer = sum/arr.length reduce를 사용한 더 짧고 빠른 풀이 reduce라는게 있는 것을 배웠다. 짧게 푸는 법은 무궁무진하구나. let a.. 2022. 1. 8.
[220108] Lv.1 / 하샤드의 수 문제 사이트 : https://programmers.co.kr/learn/courses/30/lessons/12947 코딩테스트 연습 - 하샤드 수 양의 정수 x가 하샤드 수이려면 x의 자릿수의 합으로 x가 나누어져야 합니다. 예를 들어 18의 자릿수 합은 1+8=9이고, 18은 9로 나누어 떨어지므로 18은 하샤드 수입니다. 자연수 x를 입력받아 x가 하 programmers.co.kr 내 풀이 let num=10; function solution(num){ let arr = new String(num); let len=arr.length; let sum=0; let answer=true; for(let i=0; i0); return !(num%sum) //나머지가 0일경우 true를 반환, 아닐 경우.. 2022. 1. 8.