Jcob

Jcob

JcobJcob· 3년

질문자바스크립트 코드 내에서 this는 총 몇 가지까지 추론 될 수 있나요?

나중에 자바스크립트 관련 회사에 취업 시에도 저런 면접 질문으로 나올 수도 있다고 하는데 여지껏 단순히 프로그래밍 코드 입력할 때만 써왔지만 정확히 몇 가지까지 추론될 수 있는지는 미처 많이 알지 못했던 것 같습니다. 제가 알고있기로는 전역 객체를 나타낼 때와 함수 및 메소드 호출 시 경우 등등 저 정도로 알고 있었는데 그 외에도 자바스크립트 내에 this가 총 몇 가지로 추론될 수 있고 어느 경우에 사용되는지 알고 싶습니다.
1.1K
2
1
0
sonaki84
sonaki84·2022-06-11
MDN 문서에는 아래와 같이 설명하고 있는 것 같습니다. 구문 전역문맥 함수문맥 단순 호출 bind 메소드 화살표 함수 객체의 메소드 생성자 DOM 이벤트 처리기 인라인 이벤트 핸들러 https://developer.mozilla.org/ko/docs/Web/JavaScript...
JcobJcob· 3년

질문자바와 자바스크립트 차이에 대해서 문의 드립니다.

 현재 HTML5, CSS3과 자바스크립트 3가지로 공부중입니다. 자바스크립트랑 그냥 자바 언어랑 따로 별개인걸로 알고있는데, 혹시 나중에 자바 언어를 배우거나 공부하게 될 시, 자바스크립트를 알면은 자바를 배우는데 도움이 되거나 유용할까요? 그리고 자바 언어는 보통 어떤 프로젝트를 만들 경우에 많이 쓰이며 보통 어떤 분야로 취업을 할 수 있나요? 
1.1K
1
1
0
닥터핸
닥터핸·2022-05-15
프로그래밍 언어들은 모두 사용 방법과 문법이 다릅니다만 기본적인 구문은 비슷한 것들이 있습니다. 예를 들어 if/else라든가 for나 while 같은 구문은 대부분의 언어에서  사용할 수 있는 구문입니다. 그런 의미에서보면 자바스크립트를 공부한 후에 자바를 공부할 때 if/else라든가 for, while ...
JcobJcob· 3년

질문(자바스크립트) 비디오가 안 나오는 것에 대해서 질문 드립니다.

<html> <head> <title>퀴즈 게임(다형식 동영상)</title> <style> .thing {position:absolute;left: 0px; top: 0px; border: 2px; border-style: double; background-color: white; margin: 5px; padding: 5px; } #vid {position:absolute; visibility:hidden; z-index: 0; } </style> <script type="text/javascript"> var facts = [ ["중국","베이징",false], ["인도","뉴 델리",false], ["유럽 연합","브뤼셀",false], ["미국","워싱톤, DC",false], ["인도네시아","자카르타",false], ["브라질","브라질리아",false], ["러시아","모스크바",false], ["일본","도쿄",false], ["멕시코","멕시코 시티",false], ["독일","베를린",false], ["터키","앙카라",false], ["프랑스","파리",false], ["영국","런던",false], ["이탈리아","로마",false], ["남아프리카","프레토리아",false], ["대한민국","서울",false], ["아르헨티나","부에노스 아이레스",false], ["캐나다","오타와",false], ["사우디 아라비아","리야드",false], ["호주","캔버라",false] ]; var thingelem; var nq = 4; var elementinmotion; var makingmove = false; var inbetween = 300; var col1 = 20; var row1 = 200; var rowsize = 50; var slots = new Array(nq); function init(){ setupgame(); } function setupgame() { var i; var c; var s; var mx = col1; var my = row1; var d; var uniqueid; // mark all faces as not being used. for (i=0;i<facts.length;i++) { facts[i][2] = false; } for (i=0;i<nq;i++) { slots[i] = -100; } for(i=0;i<nq;i++) { do {c = Math.floor(Math.random()*facts.length);} while (facts[c][2]==true) facts[c][2]=true; uniqueid = "c"+String(c); d = document.createElement('country'); d.innerHTML = ( "<div class='thing' id='"+uniqueid+"'>placeholder</div>"); document.body.appendChild(d); thingelem = document.getElementById(uniqueid); thingelem.textContent=facts[c][0]; thingelem.style.top = String(my)+"px"; thingelem.style.left = String(mx)+"px"; thingelem.addEventListener('click',pickelement,false); uniqueid = "p"+String(c); d = document.createElement('cap'); d.innerHTML = ( "<div class='thing' id='"+uniqueid+"'>placeholder</div>"); document.body.appendChild(d); thingelem = document.getElementById(uniqueid); thingelem.textContent=facts[c][1]; // put this thing in random choice from empty slots do {s = Math.floor(Math.random()*nq);} while (slots[s]>=0) slots[s]=c; thingelem.style.top = String(row1+s*rowsize)+"px"; thingelem.style.left = String(col1+inbetween)+"px"; thingelem.addEventListener('click',pickelement,false); my +=rowsize; } document.f.score.value = "0"; return false; } function pickelement(ev) { var thisx; var thisxn; var sc; if (makingmove) { if (this==elementinmotion) { elementinmotion.style.backgroundColor = "white"; makingmove = false; return; } thisx= this.style.left; thisx = thisx.substring(0,thisx.length-2); //remove the px thisxn = Number(thisx) + 115; elementinmotion.style.left = String(thisxn)+"px"; elementinmotion.style.top = this.style.top; makingmove = false; if (this.id.substring(1)==elementinmotion.id.substring(1)) { elementinmotion.style.backgroundColor = "gold"; this.style.backgroundColor = "gold"; document.f.out.value = "정답"; sc = 1+Number(document.f.score.value); document.f.score.value = String(sc); if (sc==nq) { v = document.getElementById("vid"); v.style.visibility = "visible"; v.style.zIndex="10000"; v.play(); } } else { document.f.out.value = "오답"; elementinmotion.style.backgroundColor = "white"; } } else { makingmove = true; elementinmotion = this; elementinmotion.style.backgroundColor = "tan"; } } </script> </head> <body onLoad="init();"> <h1>G20 국가와 수도</h1><br/> 국가와 그에 맞는 수도를 차례로 클릭하세요(클릭 순서 무관) <p> 게임을 새로 시작하려면 페이지를 새로고침 하세요. <form name="f" > 결과: <input name="out" type="text" value="정답이냐 오답이냐"/> 점수: <input name="score" type="text" value="0"/> </form> </p> <video id="vid" controls="controls" preload="auto"> <source src="shortfireworks.mp4" type='video/mp4; codecs="avc1.42E01E, mp4a.40.2"'> <source src="shortfireworks.theora.ogv" type='video/ogg; codecs="theora, vorbis"'> <source src="shortfireworks.webmvp8.webm" type="video/webm; codec="vp8, vorbis"'"> </video> </body> </html>   소스 내용은 퀴즈를 다 맞게 맞추면 마지막에 동영상이 뜨는 방식입니다. 그런데 위에 결과 화면처럼, 영상 소리는 잘 나오는데 화면이 안나오고 저렇게 백지 상태입니다. 혹시 어떤 문제인가요? 제 컴퓨터에는 엣지랑 크롬 두 개만 깔려있는 상태이고, 엣지, 크롬으로 둘 다 결과화면 실행시켜봐도 영상 소리만 나고 화면은 안나오는 상태입니다.  브라우저 문제인건가요? 
1.2K
2
1
0
피토니
피토니·2022-05-08
소스 상의 "shortfireworks.mp4" 대신에 "https://www.w3schools.com/html/mov_bbb.mp4" 를 써보시기 바랍니다. 그래도 비디오가 안 나온다면 영상 파일이 브라우저에서 지원하는 파일 포맷이 아닐 수도 있습니다. 그런 경우 shortfireworks.mp4 파일을 h....
JcobJcob· 3년

질문자바스크립트 공부 방법에 대해서 질문 드립니다.

경기도 이천에 있는 대학에 재학 중인 학생입니다. 혼자서 자바스크립트와 HTML5, CSS3를 공부하고 있습니다. 이 분야 개발자로 취업하고싶은데, 현장에 계신 전문가들의 조언을 듣고 싶습니다. 어떤 순서와 내용으로 어떻게 공부를 하면 좋을지 문의 드립니다.
1.0K
1
1
0
sonaki84
sonaki84·2022-04-30
https://devsnote.com/asks/880 이 글이 도움이 되실 것 같아요~