스크립트언어란?
기본프로그램의 동작을 사용자의 요구에 맞게 수행되도록 해주는 용도로 사용 .
빠르게 학습가능 , 짧은 소스코드로 상호작용하도록 고안됨
자바스크립트
웹 브라우저에서 사용하는 인터프리터 방식의 객체지향 프로그래밍언어이며 표준을 따르는 웹기술이다.
<!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>
<!-- 2. embedded-->
<script type="text/javascript">
function embeddedTest(){
let doc= document.getElementsByTagName("li")[4];
doc.style.color="red";
doc.innerHTML="<strong>글자가 바뀝니다.</strong>";
}
</script>
<!-- 3. 외부 -->
<script type="text/javascript" src="./js/test.js"></script>
<body>
<dl>
<dt>스크립트 언어란?</dt>
<dd>
기본프로그램의 동작을 사용자의 요구에 맞게 수행되도록 해주는 용도로 사용.<br>
빠르게 학습가능 , 짧은 소스코드로 상호작용하도록 고안됨
</dd>
</dl>
<d1>
<dt>자바 스크립트</dt>
<dd>
웹 브라우저에서 사용하는 인터프리터 방식의 객체지향 프로그래밍 언어다.<br>
표준을 따르는 웹 기술.
</dd>
</d1>
<d1>
<dt>자바 스크립트 사용법</dt>
<dd>
<ol>
<li>태그에 직접 간단코드를 작성하여 실행되게 하는 방법</li>
<li>script 태그 영역에 작성해서 실행되게 하는 방법</li>
<li>외부의 js파일로 작성해서 가져다 사용하는 방법</li>
</ol>
</dd>
</d1>
<hr>
<ol>
<!-- 1. inline -->
<li onclick="window.alert('inline');">inline 방식</li>
<!-- 클릭했을때 정보를 띄워줌 -->
<li onclick="embeddedTest()">내부 작성 방식(embedded)</li>
<!-- 기능을 만들고 -> 여기에 추가 -->
<li onclick="test();">외부 작성 방식(*.js)</li>
</ol>
</body>
</html>
외부 js 파일
function test(){
alert("외부 작성방식");
}
var / let / const
<!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>변수</title>
<script type="text/javascript">
console.log(test);
var test=1;
console.log(test);
//console.log(test2);
let test2=2;
console.log(test2);
test2= 22;
console.log(test2);
const test3=3;
console.log(test3);
//test3= 33;
//console.log(test3);
// const = 값이 불변한다.
{
var no=10;
let no2=20;
const no3=30;
}
console.log(no);
// -> var 는 어디서든 땡겨서 사용가능함(자유도가 높음)
//console.log(no2);
//console.log(no3);
window.onload=function(){
//alert("윈도우 로딩 후!");
//alert -> 페이지에 메세지 띄워주는 기능
}
// onload -> 로드가 되면 펑션을실행하자.
// -------------------------------------------------
let variable = 10; // 전역변수 : 공용으로 사용 가능 , 값이 유지됨
function test01(){
variable = variable+5;
document.getElementById("v01").innerHTML=
"<b style='color:red;background:yellow;'>"+variable+"</b>";
//문서에서 ("v01")이라는 id요소를 찾아 html을 넣어주겠다.
//"<넣으려는 html>"+ ~ +</>
}
function test02(){
const variable2 = variable+100; //지역변수 (함수안에 선언)
document.getElementById("v02").innerHTML=
"<b>"+variable2+"</b>";
}
function test03(){
let variable3 = "문자";
console.log(variable3 + ':' +typeof variable3);
console.log(`${variable3}, : ads ${typeof variable3}`);
// ` 백틱
//숫자
variable3 = 5.5;
console.log(`${variable3} : ${typeof variable3}`);
//논리
variable3 = true;
console.log(`${variable3} : ${typeof variable3}`);
//null
variable3 = null;
console.log(`${variable3} : ${typeof variable3}`);
//객체
variable3 = [1,2,3,4,5,6,7]; // 배열
console.log(`${variable3} : ${typeof variable3}`);
variable3 = {name:'박영석' , age:25}; // 객체
console.log(variable3 + " : " + typeof variable3);
console.log(variable3); // 배열의 내용 출력
//함수
variable3 = () => alert("변수의 타입");
console.log(variable3);
console.log(`${variable3} : ${typeof variable3}`);
variable3();
//함수를 실행시켜줌
}
</script>
</head>
<body>
<h1>변수의 사용</h1>
<dl>
<dt>변수의 선언 규칙</dt>
<dd>1. 대소문자 구분한다.</dd>
<dd>2. 영문,$,_로 시작한다.</dd>
<dd>3. 영문,$,_를 포함할 수 있다.</dd>
<dd>4. 키워드나 예약어 사용할 수 없다.</dd>
<dt>변수의 범위</dt>
<dd>1.전역변수 : window 객체에 포함되는 변수로
다른 함수들에서 공용으로 사용할 수 있다.( 값 유지 )
<button onclick="test01();">확인</button>
</dd>
<dd id="v01"></dd>
<dd>2.지역변수 : 함수나 객체 내부에 선언되고
실행이 종료되면 사라짐
<button onclick="test02();">확인</button>
</dd>
<dd id="v02"></dd>
<dt>변수의 선언과 저장</dt>
<dd>1. let , var , const 키워드 사용하여 변수 선언</dd>
<dd>2. 변수의 타입은 저장되는 데이터의 타입에 따라 결정된다.</dd>
<button onclick="test03();">확인</button>
</dd>
<dt>타입의 종류</dt>
<dd>1.문자(String)</dd>
<dd>2.숫자(number)</dd>
<dd>3.논리(boolean)</dd>
<dd>4.널(null)</dd>
<dd>5.객체(Object)</dd>
<dd>6.함수(Function)</dd>
</dl>
</body>
</html>
var → 자유도가 높음 ( 어디서든 땡겨서 사용 가능)
let → 자유도가 높지않지만 값을 변경해서 사용가능
const → 값이 고정됨
변수의 타입은 자동으로 지정됨
function
<!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>대화형 함수</title>
<script>
//alert() : 단순 경고나 코드 디버깅용으로 주로 사용.
function alertTest(){
alert("내용 출력(단순 대화창)");
}
//confirm : 확인 / 취소 제공(true / false 반환)
function confirmTest(){
//console.log(confirm("확인/취소"));
if(confirm("배경을 분홍으로 바꿀까요?")){
document.body.style.backgroundColor="pink";
}else{
console.log("기존색상 유지");
}
}
//prompt : 텍스트 박스 , 확인/취소 버튼 제공
// 입력한 텍스트 반환 (취소 : null)
function promptTest(){
const txt = prompt("좋아하는 과목 번호를 선택해 주세요. \n[1:java 2:db 3:ui]");
//console.log(txt);
switch(txt){
case "1":
console.log("역시 자바!")
break;
case "2":
console.log("역시 db!")
break;
case "3":
console.log("역시 ui!")
break;
default:
console.log("1,2,3 번중 하나를 입력해주세요.")
}
// 입력받은 값이 string 값이기 때문에 case 1-> case "1" 로 바꿔주어야함
}
</script>
</head>
<body>
<h1>window객체에서 제공하는 대화형 함수</h1>
<small>
종류에는 <strong>alert(), confirm(), prompt()</strong> 가 있다.
</small>
<p>alert():<button onclick="alertTest();">클릭!</button></p>
<p>confirm():<button onclick="confirmTest();">클릭!</button></p>
<p>prompt():<button onclick="promptTest();">클릭!</button></p>
</body>
</html>
alert : 텍스트를 팝업으로 출력해줌
confirm : 취소 확인 박스로 출력해줌 → 취소 = false 값 , 확인 = true값
prompt : 값 입력가능한 창 출력
closer
함수안의 함수를 이용하여 값을 부모의 함수에게 전달
<!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>
<script type="text/javascript">
function func01(){
alert("명시적 함수");
}
const func02 = function(){
alert("익명 함수");
}
function literalPrn(literal){
literal("안녕하세요. 리터럴 입니다.");
}
function literalPrn2(literal){
literal();
}
function func03(){
literalPrn(function(msg){
alert(msg);
});
literalPrn(function(){
alert("어렵노...");});
}
function valTest(msg){
//alguments : 인자값 갯수만큼 배열형태로 저장이된다.
let val="";
for(let i=0; i<arguments.length; i++){
val += arguments[i]+" ";
}
alert(val);
}
//클로저
function closureTest(val){
const msg ="였군요?";
function addVal(){
alert(val+" "+msg);
}
return addVal;
}
let javaClass = closureTest("javascript");
//console.log(javaClass);
function multiClass(val){
closureTest(val)(); //리턴해준걸 또실행해주는 괄호();붙혀주어야함
//let tmp = closureTest(val);
//tmp(); ->풀어서 쓰면 이런모양
}
</script>
</head>
<body>
<h1>Function!! 함수!!</h1>
<h2>함수의 종류</h2>
<p onclick="func01();">1.명시적 함수</p>
<p onclick="func02();">2.익명 함수</p>
<p onclick="func03();">3.리터럴 함수</p>
<h2 onclick="valTest('multi' , '캠퍼스' ,'세종대','6F','603호');">args() 속성</h2>
<h2>클로저 (함수 리턴)</h2>
자바수업 <input type ="text" id="day" value=" "/>
<input type="button" value="click!" onclick="javaClass();">
<br>
muli수업 <input type ="text" id="multi" value=" "/>
<input type="button" value="click!" onclick="multiClass(multi.value);"> <!-- 아이디 멀티인 값의 밸류를 클로저한테 넘겨줌-->
</body>
</html>
'JS' 카테고리의 다른 글
카카오톡 공유하기 기능 만들기 (0) | 2025.01.07 |
---|---|
[JavaScript]array2 / popup (0) | 2024.07.19 |
[JavaScript]date/math/String/array (1) | 2024.07.16 |
[JS]rolling / dom / Object / numberObject / transObject (3) | 2024.07.03 |
[JS] 자주 쓰는 함수 모음 (0) | 2024.05.10 |