묻고 답해요
130만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결[리뉴얼] Node.js 교과서 - 기본부터 프로젝트 실습까지
안녕하세요 질문이 있습니다 !
안녕하세요 강의 잘 듣고 있습니다.const a = () => { console.log("hi");};a();위 식에서 a라는 객체(변수?)에 익명함수를 넣은 형태로a(); 를 작성해야지만 hi가 출력되는데요 const timeout = setTimeout(() => { console.log("1.5초 후 실행");}, 1500);이 식에서는 timeout이라는 객체(변수?)에 setTimeout을 선언만 했는데 실행되는 이유를 모르겠습니다.제 생각에는 timeout(); 을 해줘야 실행되는 것이 아닌가요 ..?
-
해결됨[리뉴얼] 코딩자율학습 제로초의 자바스크립트 입문
setTimeout 에 관하여 질문있습니다.
setTimeout하고 setInterval을 좀 더 잘 이해하기 위해서 간단한 출력물을 만들어봤는데요. "5초 이내 구매시 사은품 증정" 이라는 문구가 4 , 3, 2, 1 로 바뀌고 5초가 지나면, 문구 자체가 사라지는 구조입니다. Q1. timer라는 변수에 담아줬을 뿐인데, 왜 변수 안에 담겨진 setInterval()이 즉시 실행되는 건가요? 다시 말해서, timer();를 안 했는데도 실행되는 이유가 궁금합니다. 이 상황 너무 혼란스러워요;;; Q2. setTimeout()을 5초로 맞춰놓으면, 마지막 "1초"가 출력이 안 되고 바로 display: none;이 발생하는데요. 아마도, setInterval()이 1초 늦게 실행되서 그러는 것같습니다. 왜 setInterval()이 setTimeout()보다 1초 늦게 실행되는 걸까요?? - 해당 코드를 바로 실행해볼 수 있게 Codepen 링크도 올리겠습니다. https://codepen.io/uscgil0127/pen/GRQQMzB - 질문 코드 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta http-equiv="X-UA-Compatible" content="IE=edge" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>Document</title> <style> body { margin: 0; padding: 0; } </style> </head> <body> <div class="alert alert-danger"> <span> 5초 이내 구매시 사은품 증정 </span> </div> </body> <script> const sp = document.querySelector("span"); let count = 5; let timer = 0; document.addEventListener("DOMContentLoaded", function () { // Q1. timer 라는 변수에 할당만 해줬을 뿐인데, 왜 함수가 즉시 실행되는지 이해가 안 됩니다. timer = setInterval(thisThisOne, 1000); // Q2. setTimeout 5초로 맞춰놓으면, "1초"가 안 보이고 바로 display: none;이 되버리네요. setTimeout(tryThis, 6000); }); function tryThis() { sp.style.display = "none"; } function thisThisOne() { if (count === 0) { clearInterval(timer); } sp.textContent = `${count}초 이내 구매시 사은품 증정`; count--; } // testTimer 역시 변수에 담겼을 뿐인데, 실행이 된다. 혼란스럽군요... let testTimer = 0; testTimer = setInterval(function () { console.log('이거 실행 됩니다.') }, 1000); </script> </html>
-
미해결비전공자를 위한 진짜 입문 올인원 개발 부트캠프
setTimeout함수를 수업과 똑같이 치고 엔터를 치니 ->2478 이라는게 뜨는데 이건 무슨의미인가요?
다른 수강생분들에게도 문제 해결에 도움을 줄 수 있도록 좋은 질문을 남겨봅시다 :) 1. 질문은 문제 상황을 최대한 표현해주세요.2. 구체적이고 최대한 맥락을 알려줄 수 있도록 질문을 남겨 주실수록 좋습니다. 그렇지 않으면 답변을 얻는데 시간이 오래걸릴 수 있습니다 ㅠㅠex) A라는 상황에서 B라는 문제가 있었고 이에 C라는 시도를 해봤는데 되지 않았다!3. 먼저 유사한 질문이 있었는지 꼭 검색해주세요!
-
해결됨Svelte.js [Core API] 완벽 가이드
setTimeout() VS tick() 처리로직 과 `범용성`에 관한 질문 입니다
아래 Wondam Jung 님 질문에서 정리 해 주신글 잘 보았습니다. 댓글로 질문을 남기려다 관련성이 떨어진다 싶어 새로 질문을 작성했는데요, 저는 `tick()` 적용하시리라 생각했는데 setTimeout 은 의외적으로 느껴졌습니다. 컴포넌트 외부에서는 tick() 처리를 하지 않으신 이유를 알수 있을까요?(tick() 처리가 효율적이지 않아서일까요?? 아니면 다른 문제가 있는건지...)그리고, setTimeout 처리 방식을 다른 라이브러리같은Vue 나 React 의 경우에도 사용이 가능하겠지요?(내부적으로 처리되게 하는 방식이 있겠지만요..) 읽어주셔서 감사합니다.