일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 네트워크 기초
- Git #회고록
- 호스트주소 #Host주소
- 에러해결
- WSL2 #권한
- 회고 #주간회고
- OOP
- mapstruct
- 백엔드로드맵
- 롤중독
- jvm
- 회고
- 사용자계정 #WSL2
- 인터넷 #ISP
- 회고록
- 공부방식
- git #intellij
- Java환경
- 회고록_코드스테이츠
- 피드백
- 글 foramt
- 코딩테스트
- 정리글 작성법
- String
- 코드스테이츠 #
- WSL #Linux #ubuntu
- 몰입학습 #몰입
- 코드스테이츠 #회고록
- JAVA기본
- 시작 #꾸준히 #과하지않게
- Today
- Total
느리더라도 꾸준히
JavaScript 기초 - 생활코딩 본문
사실 자바스크립트는 이렇게 기초적으로 배울 수 있는 언어가 당연히 아니지만, 무슨 느낌인지만 알고 싶었고, 그정도 느낌의 정리이다.
JavaScript의 등장 배경
정적인 언어인 html에 아쉬움을 느낀 개발자들은 사용자와 상호작용하는 동적 웹 언어를 사용하고 싶어 JavaScript가 탄생했다.
JavaScript는 html 위에서 사용 할 수 있다.
html 위에서의 JavaScript
- script tag 사용
- on~이벤트 발생시 (onclick, onchange 등 DOM Event 문서에서 확인
<body> <input type ="button" value ="hi" onclick="alert('hi')"> <input type = "text" onchange="alert('changed')"> <input type="text" onkeydown="alert('key down!!')"> </body>
- Web 자체에 있는 콘솔에서 사용가능
- console에서 shift enter하면 실행하지않고, 내려갈 수 있음.
DataType, Variable, 대입연산자
알고있는 개념과 비슷하다.
(시스템적으로 있을수는 있으나, 아직 그렇게 deep하게 배우지 않음)
WebBrowser 기본제어
documnet.queryselector(tag명) 으로 제어할 태그를 불러올 수 있다.
tag 뿐만 아니라 클래스와 id selector(#id 형태를 해야할 경우가 있음)들도 불러올 수 있다.
프로그램이란?
여러 개념이 있겠으나 여기서 배운 개념은,순서에 따라 결과들이 일어나는 것. 그러므로 순서에 여러 흐름을 줌으로써, 다양한 결과를 만들 수 있음.
조건문/비교연산자와 boolean
알고 있는 개념과 비슷함. 내가 쓰던 언어와 조금 다른 부분은
java : javascript
== : ===
< : <
리팩토링이란?
잘 돌아가는 코드를 유지시키면서 중복코드를 줄임으로써 효율성을 높이는 개념
<script>
var Links = {
setColor:function LinkssetColor(color){
var alist = document.querySelectorAll('a');
var i = 0;
while(i < alist.length){
alist[i].style.color = color;
i= i+1;
}
}
}
var Body = {
setColor:function(color){
document.querySelector('body').style.color=color;
}
,setBackgroundColor:function(color){
document.querySelector('body').style.backgroundColor=color;
}
}
function nightDayHandler(self){
var target = document.querySelector('body');
if(self.value === 'night'){
Body.setBackgroundColor('black');
Body.setColor('white');
Links.setColor('powderblue');
self.value = 'day';
} else{
Body.setBackgroundColor('white');
Body.setColor('black');
Links.setColor('blue');
self.value = 'night';
}
}
</script>
<body>
.....
<input id="night_day" type = "button" value = "night" onclick="
nightDayHandler(this);
">
</body>
- 객체, 함수 선언 및 반복문 조건문 사용 모습.
- JS의 웹에 버튼을 생성시켜주는 'input' Object
위의 코드도 하나하나 따져본다면,
- 반복문으로 코드효율을 높였다.
- 함수를 통해 반복되는 코드를 줄일 수 있다.
- 객체를 생성하여 반복되는 코드를 줄였다.
배열, 반복문, 함수
배열 : 인덱스속에 순서가 존재하는 개념
반복문 : 연속적인 반복일때 필요한 개념
함수 : 비연속적인 방법일때 사용이 가능하며, 코드효율을 높여줌.
객체
객체는 여러 개념들이 많이 존재하지만, 순서없이 이름이 존재하는 정돈된 상자 개념으로 일단 보자.
<script>
var coworkers = {
"programmer":"egoing",
"designer":"leezche"
};
document.write("programmer:" + coworkers.programmer + "<br>");
document.write("designer:" + coworkers.designer + "<br>");
coworkers.bookkeeper = "duru";
document.write("bookkeeper : " + coworkers.bookkeeper + "<br>");
coworkers["data scientist"] = "taeho";
document.write("data scientist : " + coworkers["data scientist"] + "<br>");
</script>
<h2>Iterate</h2>
<script>
for(var key in coworkers){
document.write(key + ' : ' + coworkers[key] + '<br>');
}
</script>
<h2>Property & Method</h2>
<script>
coworkers.showAll = function(){
for(var key in this){
document.write(key + ' : ' + this[key] + '<br>');
}
}
coworkers.showAll();
</script>
- Property : 객체에 소속된 변수
- Method : 객체에 소속된 함수
- property, method를 활용하여, 변수안의 값을 활용하는 모습을 잘 보자!
라이브러리와 프레임워크
<head>
<title>WEB1 - html</title>
<meta charset = "utf-8">
<script src ="colors.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
- js도 css와 마찬가지로, html에서 코드작업을 하지 않고 따로 js파일을 만들어 html에 불러 올 수 있다.
- 이미 저장되어있는 라이브러리는 cache 개념을 통해 트래픽(그 결과 돈과 시간)을 절약시켜 준다.
- 라이브러리는 자주 사용되어 재사용하기 쉽게 정돈되어있는 소프트웨어라고 볼 수 있다.
- 프레임워크는 만들고자 하는것에 따라 공통적으로 만들어지는 부분을 미리 구현해둔 반제품으로 볼 수 있다.
- CDN 개념을 이용하면 직접 서버에 다운받지 않고, 라이브러리와 프레임워크를 이용 할 수 있다.
UI 와 API
- UI
UI는 사용자가 system을 제어하기 위한 장치이다.(버튼을 클릭, 이벤트 창 나온걸 종료 등) - API
Web 서버에서 정해 놓은 약속된 방식으로 기능을 쓰면, 약속된 기능이 발생하도록 하는 조작 장치.
그러므로 웹브라우저 개발자들은 웹서버에서 정해놓은 약속과 기능을 알맞은 '순서'로 사용하는 것이다.
이런 기능도 있어요
웹 개발을 하다 막힌다면, 책도 좋고 인강도 좋지만 공식문서를 보는 것이 좋다.
document 객체 < Dom 객체 < Window 객체 , ajax, cookie 등
막혔을때는 위 같이 좋은 개발자분들이 만들어놓은 객체안에 해결해 줄수 있는 메소드들이 없는지 검색하고 확인해보자.
'FrontEnd & Web' 카테고리의 다른 글
CSS기초(생활코딩) (0) | 2022.02.07 |
---|