2020.08.12(후) 5주차 3일
오늘부터 자바스크립트를 시작한다.
프론트백앤드 이런 개념 중 프론트에 해당하는 부분들을 다룰 예정
자바 스크립트 이론 및 배경
의외로 C랑 비슷한 언어. 함수 지향형언어. 잘 익혀두면 나중에 파이썬 배울때 편하다. |
lib : JQuery vue react // etc 더 자세한 건 카페 JS Frame 에서 확인 나중에 프로젝트 짤 때 git, Vue(소규모, 쉬움, 후발주자 : 리액트와 앵귤러JS 장점을 섞음) react(대규모, 복잡, 기업들이 대부분 씀) 조금씩 섞어주면 좋다 OOP를 모르면 리액트, 프론트 쪽 일을 못함. 그래서 프로그래머들이 웹쪽으로 빠지기도 하는 추세다.
2) Tree 트리구조 사람들이 많이 안해서 차별화 가능 ) cdn spa?
|
|
1. 부트스트랩 Bootstrap
web_pro1> F_layout.html
그냥 스타일이나 cSS로 꾸미면 화면이 안 이쁘다 부트스트랩 CDN이랑 연결시키면 편리하다 |
[CDN : contents delivery network] 필요한 라이브러리를 사용하기 위해선, 기존엔 jar파일을 받아 내 컴퓨터에서 import 했다. 네트워크가 원활하다면 cDN을 활용하는 방법도 (1) http://bootstrapk.com/getting-started/ 접속하여 cdn 복사 2)f.layout 에 복붙 3) http://bootstrapk.com/css/#buttons 에 들어가서 bootstrap css 복사 4) <link> 를 통해 부트스트랩을 부를 수 있음 |

*부트스트랩은 구글이 제공하는 무료 CSS, 유료로 판매하는 CSS들도 있다.
2. 자바스크립트 작성 기초
(1) (수업 진행)인터널 : HTML 문서 내에서 작성 body (2) (추천)이터널 : HTML 문서 외부에서 작성 head |
(3) 주석 // (1) var a = 10;에서 let b = 10; (2) console.log(); var es1 = function(one , two){ return one + two; } var sum = es1(1 , 2); console.log(sum); 에서 let es2 = (one, two) => { return one + two; } let result = es2(1 , 2); console .log(result); 으로 |
5) 참고 사이트 (1) JQuery https://jquery.com/ JS로 만든 라이브러리 'JQuery 모바일' 이걸로 앱을 짜기도 한다. JQuery mobile 은 (2) 전자정부 표준프레임워크 by 한국정보화진흥원 삼성 SDS, LG CNS 가 양대산맥 => 스프링을 쓴다. 또 일본 미국이 다 자바관련 개발은 스프링을 쓰기 때문에 꼭 알아야만 한다. |
3. 자바스크립트 시작
web_pro2> JS1
0) web_pro1 서버는 죽여버리자 1) web_pro2> JS1 (1) <body> 안에서 자바스크립트를 실행해보자. (2) <script type="text/javascript">로 자바스크립트를 선언한다. (3) 자바스크립트 에러 검사는 브라우저에 가서 하는 것이 국룰 (에러메시지가 친절하진 않으니 많이 봐야 한다. ) or 서버에서 확인 : 노드 JS 윈도우, IOS처럼 JS 를 실행하는 환경은 노드 혹은
(4) 원래 자바 스크립트 시작하면서 <!-- --> 안에 걸어줘야 한다. |
4. JAVA SCRIPT 함수
web_pro2> JS2, JS3, JS4, JS5, JS6,
<제어-논리> web_pro2> JS2 if switch for while array |
<다양한 함수들> Web_pro2> JS3 1) 문자 함수 charAt() indexOf('v') indexOf('V') subString(1,4) 2) 스타일 함수 document.write('<br>', str.strike()); document.write('<br>', str.bold().fontcolor('#ff0000').fontsize(20)); 3) 수학함수 4) 날짜함수 5) 기타함수 6) 사용자 정의 함수 기본형이 없기 때문에 함수형 언어에선 가능 -- encode decode 암호화 (나중에 쓰니 알아두라고 하심) 1급함수 함수값을 argument로 줄 수 있어 7) *기타 호출 : 별도의 창을 호출 경고창 팝업창 //open("JS1.html", "대화상자", "width=300, height=200, left=200, right=200, resizable=true") |
<사용자 정의 함수에 대해 더 알아보자> Web_pro2> JS4 헤드에서 함수 만들기 (정의) 함수내에서 함수 호출 가능 바디에서 호출 |
<선언적함수, 익명함수 // 지역함수, 전역함수> Web_pro2> JS5 선언적 함수(함수 객체가 메모리에 상주) 익명 함수(동적, 휘발성, 단발성)" 지역변수(험수 안, 함수내에서 조합) ,전역변수(함수 밖) |
<대화상자 관련 내장함수> Web_pro2> JS6 var irum = "홍길동"; var tel = "111-1111"; alert("이름은" + irum + "\n전화는" + tel);
document.write("<br>alert 수행후 출력");
알림창처럼
var juso = prompt("사는 곳은?",""); document.write("<br>사는 곳은 " + juso); 알림창처럼 |
5. JAVA SCRIPT 이벤트
JS7, JS8, JS9
<이벤트> Web_pro2> JS7 (요즘 추세에는 안 맞음) <script type="text/javascript"> function func1(){ var data = prompt("날짜 입력", "2020-8-12"); var arrData = data.split("-"); //java의 토큰나이트? : 글자 자르기
//document.write(data); document.write(arrData[0] + "년 " + arrData[1] + "월 " + arrData[2] + "일 " ); } </script> </head> <body> <h2>이벤트연습 </h2> <a href="javascript:func1();">호출 1</a><br> <a href="javascript:onclick=func1();">호출 2</a><br>
<button onclick='func1()'>호출 3</button> <input type="button" value="호출3" onclick="func1()" > </body> * 웹에선 onclick을 많이 쓴다. * 자바 스크립트는 찾아가고 제이쿼리는 CSS의 selector 를 ...? (다 못 받아적음) |
<이벤트2> Web_pro2> JS8 (추세!!!!))) <body>에서 ID를 설정하여 스크립트에서 ID 환경을 구성하고, 이를 다시 호출하는 방식 //alert("1"); var tag1 = "이름 : <input type ='text' name = 'irum'>"; var tag2 = "나이 : <input type ='text' name = 'nai'>"; 1. JTextarea 처럼 내가 직접 입력하는 부분들이 생김 document.getElementById("test1").innerHTML = tag1; document.getElementById("test2").innerHTML = tag2; } function func2(){ //alert("2"); var str1 = "<b style='font-size:24px'>일반 메세지로 전환</b>"; var str2 = "<b style='font-size:34px'>나도 전환</b>";
document.getElementById("test1").innerHTML = str1; // HTML로 출력 document.getElementById("test2").innerText = str2; // 문자열 그대로 다 출력 |
<이벤트 처리 3> Web_pro2> JS9 <body>에서 하나의 출력 DIV(id = "show") 를 가지고 다양한 이벤트를 끌어오는 방법 1. 버튼1, 2, 3 with ID('show') , 이벤트 처리코드 부여 ..... <input type="button" value="버튼2" onclick="b.funcNew1()"><br> <input type="button" value="버튼3" onclick="b.funcNew2()"><br>
<input type="button" value="클릭1" id="btn1"> <input type="button" value="클릭2" id="btn2" name = "myBtn"> <input type="button" value="클릭3" id="btn3" name = "myBtn">
<input type="button" value="클릭4" > <input type="button" value="클릭5" id ="btn5">
|
<이벤트 처리 3>
Web_pro2> JS9 #4 참조내용
https://www.w3schools.com/jsref/met_element_getelementsbytagname.asp
HTML DOM getElementsByTagName() Method
HTML DOM getElementsByTagName() Method ❮ Element Object Example Change the HTML content of the first
- element (index 0) in a list: var list = document.getElementsByTagName("UL")[0]; list.getElementsByTagName("LI")[0].innerHTML = "Milk"; Try it Yourse
www.w3schools.com
※ 오늘 배우고 느낀 것
1. SQL, JAVA에 이어 HTML, JS, CSS 등 두 가지 이상의 언어를 섞는 것을 배웠다.
그럴듯한 프로젝트를 하려면 이렇게 다양한 언어를 섞을 줄 알아야겠지...?
2. 객체 지향적 언어, 함수지향적 언어
3. 데이터 시각화쪽으로 진로를 가고 싶은 나는 일명 '프론트'쪽으로 지식을 좀 더 쌓아야할텐데
다행히 HTML, CSS, JS쪽이 오히려 나한테는 맞는 것 같다.
4. 확실히 자바를 배워놓으니까 (다 이해했다고는 안 했다!) 이 부분을 배우는데 있어 훨씬 수월했다.
만약에 독학을 했다면 몰랐을 것이다.
'[2020]KIC 캠퍼스 복습 > JAVA SCRIPT(5,6,7)' 카테고리의 다른 글
[수업 D-26 ] JS) AJAX, JSON //JQUERY (0) | 2020.08.18 |
---|---|
[코드리뷰] JS) AJAX를 구성, "팩토리파일" (0) | 2020.08.18 |
[수업 D-25 ] JS)DOM, AJAX (0) | 2020.08.18 |
[코드리뷰] JS) 웹으로 계산기 만들기 (0) | 2020.08.13 |
[수업 D-24 ] JS) 정규표현식, 객체생성, DOM (0) | 2020.08.13 |