객체(Object)

  객체는 기능과 속성을 갖고 있다.

  예를 들어 TV에는 켜다, 끄다, 음소거, 볼륨 높낮이 조절 등이 있다.

  이렇듯 TV라는 객체에는 다양한 기능이 있다.

  객체 안에는 메소드(Method), 속성(Property)이라는 것이 있고, 메소드는 기능인 켜기, 끄기, 음소거, 볼륨 높낮이

  조절이고, 속성은 너비, 높이, 색상, 무게이다.

 

자바스크립트에서 객체의 메소드와 속성을 사용하는 기본형은 다음과 같다.

객체.메소드();	//객체의 메소드를 실행한다.

객체.속성; //객체의 속성값을 가져온다

또는 객체.속성=값; //객체의 속성값을 바꾼다.

객체의 종류

  내장객체

    내장객체는 자바스크립트 엔진에 내장되어 있어 필요한 경우에 생성해서 사용할 수 있다.

    내장객체로는 문자(String), 날짜(Date), 배열(Array), 수학(Math) 객체 등이 있다.

    가령, 오늘 날짜를 알고 싶다면 Date 객체를 생성하여 오늘 날짜를 알려준느 메소드 getDate()를 사용하면 된다.

  브라우저 객체 모델

    브라우저 객체모델(BOM)은 브라우저에 계층 구조로 내장되어 있는 객체를 말한다.

    브라우저 객체로는 window, screen, location, history, navigator 객체 등이 있다.

    브라우저(window)는 document와 loaction 객체의 상위 객체이다.

    예를 들어 자바스크립트를 이용해 현재 열려있는 사이트에서 다른사이트로 이동하려면 location 객체에

    참조주소(href) 속성을 바꾸면 된다. 다음과 같이 실행하면 location의 참조 주소(href)의 속성이 바뀌어

    새 주소 사이트로 이동한다.

window.location.href="사이트 URL"

  문서 객체 모델

    문서객체모델(DOM)은 HTML 문서 구조를 말한다.

    HTML 문서의 기본 구조는 최상위 객체로 <html>이 있으며, 그 하위 객체로는 <head>와 <body>가 있다.

    예를 들어 자바스크립트를 이용해 이미지의 src 속성을 바꾸고 싶다면 지정된 <img>를 선택해 src속성을

    바꿔야 한다.

    이때, 지정 요소를 제대로 선택해서 가져오려면 문서 객체의 구조를 잘 이해하고 있어야 한다.

    문서객체모델에서는 HTML의 모든 요소들을 문서 객체로 선택하여 자유롭게 속성을 바꿀 수 있고,

    선택한 문서 객체에 원하는 스타일(css)을 적용할 수도 있다.

 

    하지만 자바스크립트의 문서 객체모델은 IE 8이하 버전에서는 호환성이 떨어지기 때문에 사용하기 힘들다는 

    단점이 있다.

    그래서 이러한 점을 극복하기 위해 JQuery 문서 객체모델을 많이 사용한다.

 

내장객체

  다음은 내장객체를 생성하는 기본형이다.

  객체를 생성할 때는 new라는 키워드와 생성함수를 사용한다.

참조변수(인스턴스 이름) = new 생성함수()

 

  다음 예제에서는 new 키워드와 기본객체 생성함수 Object()를 이용해 객체를 생성한다.

  생성된 객체는 변수 tv가 참조하고 있으며, 이를 이용해 객체의 속성과 메소드를 생성한다.

  변수를 이용해 참조를 한다는 말은 생성된 객체를 이용할 때 참조 변수를 사용하겠다는 의미이다.

 

  <script>
      var tv = new Object();
      tv.color = "white";
      tv.price = 300000;
      tv.info = function(){
        document.write("tv 색상:"+this.color, "<br>");
        document.write("tv 가격:"+this.price, "<br>");
        <!-- 위에서 this는 메소드의 객체(tv)를 가리킨다.-->
      }

      var car={
        color: "black",
        price: 5000000,
        info:function(){
          document.write("car 색상:"+this.color, "<br>");
          document.write("car 가격:"+this.price, "<br>");
        }
      };

      document.write("<h1>tv 객체 메소드 호출</h1>");
      tv.info();
      document.write("<h1>car 객체 메소드 호출</h1>");
      car.info();
    </script>

날짜 정보 객체

  날짜나 시간 관련 정보를 제공받고 싶을 때 사용한다.

  현재 날짜의 정보를 제공하는 Date 객체는 다음과 같이 생성한다.

참조변수=new Date();

var t = new Date();

  특정 날짜를 제공 받아야 할때는 다음과 같이 생성한다.

참조변수=new Date("연/월/일);

var t=new Date("2020/05/19);

참조변수=new Date(연, 월-1, 일);

var t=new Date(2020,04,19);

  다음은 현재 날짜 객체와 특정 날짜 객체를 이용하여 2002년 월드컵 날짜와 관련된 정보를 출력하는 예제이다.

<script>
    var today = new Date();
    var nowMonth=today.getMonth(),
    nowDate = today.getDate(),
    nowDay = today.getDay();

    document.write("<h1>오늘 날짜 정보</h1>");
    document.write("현재 월:"+nowMonth, "<br>");
    document.write("현재 일:"+nowDate, "<br>");
    document.write("현재 요일:"+nowDay, "<br>");

    var worldcup=new Date(2002,04,31);
    var theMonth=worldcup.getMonth(),
    theDate=worldcup.getDate(),
    theDay=worldcup.getDay();

    document.write("<h1>월드컵 날짜 정보</h1>");
    document.write("2002월드컵 몇월:"+theMonth, "<br>");
    document.write("2002월드컵 몇일:"+theDate, "<br>");
    document.write("2002월드컵 무슨요일:"+theDay, "<br>");
</script>

작성한 날짜는 5월 19일 이지만 getMonth는 -1을 하기 때문에 4월로 나오는것을 확인 할 수있다.

 

  현재 날짜부터 특정 날짜까지 몇일이 남았는지 구하는 형식은 다음과 같다.

남은일수(밀리초) = 특정 날짜 객체 - 현재 날짜 객체
<script>
      var today=new Date();
      var nowYear=today.getFullYear();

      var theDate=new Date(nowYear, 11, 31);
      <!-- 올해 연말에 대한 날짜 정보 객체.
           12월까지 있지만 -1을 해서 적어줘야 하므로
           11로 작성.-->
      var diffDate=theDate.getTime() - today.getTime();
      <!-- 남은날 = 특정날짜 - 현재날짜(밀리초단위)-->

      var result = Math.ceil(diffDate/(60 * 1000 * 60 * 24));
      document.write("연말 D-day:"+result+"일 남았습니다");
</script>

수학객체

  다음은 수학 객체의 메소드와 참조할 수 있는 상수에 대해 정리한 표이다.

  다음은 수학 객체에 포함되어 있는 수학 메소드에 숫자를입력하여 결과값을 반환 받는 예제이다.

<script>
      var num=2.1234;

      var maxNum=Math.max(10, 5, 8, 30),  //30 최대값
      var minNum=Math.min(10, 5, 8, 30),  //5  최소값
      var roundNum=Math.round(num),   //2 소수점 첫째자리 반올림
      var floorNum=Math.floor(num),   //2 소수점 첫째자리 내림
      var ceilNum = Math.ceil(num),   //3 소수점 첫째자리 올림
      var rndNum = Math.random(),   //0~1 0과 1사이의 난수 발생
      piNum = Math.PI;    //3.14  원주율 상수를 반환

      document.write(maxNum, "<br>");
      document.write(minNum, "<br>");
      document.write(roundNum, "<br>");
      document.write(floorNum, "<br>");
      document.write(ceilNum, "<br>");
      document.write(rndNum, "<br>");
      document.write(piNum, "<br>");
</script>

 random()메소드를 이용하여 지정한 숫자 구간에서 난수가 발생할 수 있도록 하려면?

다음와 같이 하면 0부터 10까지 난수를 반환한다.

Math.random()*10;

만일 Math.random()을 이용하여 0부터 10까지 정수로만 난수를 반환하려면 다음과 같이 Math.floor를 이용해야 한다.

floor()메소드는 값을 내리기때문에 0이 아닌 11을 사용한다.

Math.floor(Math.random()*11);

 

Math.random()를 이용하여 120~150 사이의 난수를 정수로만 발생하게 하려면 다음과 같이 한다.

Math.floor(Math.random()*31);		<!-- 0부터 30까지 정수로 난수를 발생한다 -->
Math.floor(Math.random()*31)+120;	<!-- 120부터 150까지 정수로 난수를 발생한다 -->

  즉, 난수를 발생하여 자신이 원하는 구간 사이에서 정수가 발생하게 하려면 다음과 같은 공식을 적용해야 한다.

Math.floor(Math.random()*(최대값-최소값+1))+최소값;

  다음은 웹사이트 방문 시 나타나는 창에 방문자가 가위, 바위, 보를 적어 컴퓨터가 내려는 가위, 바위, 보를 추측해

  맞추는 예제이다. 여기에서도 난수를 사용한다.

<script>
      document.write("<h1>컴퓨터 가위, 바위, 보 맞추기</h1>");

      var game = prompt("가위, 바위, 보 중 선택하세요", "가위");
      var gameNum;

      switch(game){
        case "가위";
          gameNum = 1;
          break;
        case "바위";
          gameNum = 2;
          break;
        case "보";
          gameNum = 3;
          break;
        default: alert("잘못 작성했습니다.");
        location.reload();
      }

      var com = Math.ceil(Math.random()*3); <!-- 1~3에서 난수가 발생한다.-->

      document.write("<img src=\"images/math_img_"+com+".jpg\">");

      if(gameNum == com){ <!-- gameNum과 com이 일치하는지 검사한다 -->
        document.write("<img src=\"images/game_1.jpg\">");
      }else{
        document.write("<img src=\"images/game_2.jpg\">");
      }
</script>

 

 

배열 객체

  여러개의 데이터를 하나의 저장수에 저장하려면 배열객체(Array Object)를 생성하면 된다.

  배열 객체를 생성하는 기본형은 다음과 같다.

var 참조변수=new Array();
참조변수[0]=값1; 참조변수[1]=값2; 참조변수[2]=값3; .... 참조변수[n-1]=값n;
var 참조변수=new Array(값1, 값2, 값3, ...값n);
var 참조변수=[값1, 값2, 값3, ....값n];

  배열 객체를 생성하는 방법은 다음과 같이 세가지이며, 이 중에서 선호하는 방식을 사용하면 된다.

1

var d=new Array();
d[0]=30;
d[1]="따르릉";
d[2]=true;
2

var d=new Array(30, "따르릉", true);
3

var=d=[30, "따르릉", true];

 

배열 객체에 저장된 데이터 불러오기

  배열객체에 저장된 데이터를 불러올 때는 다음과 같은 기본형을 사용한다.

참조변수[인덱스 번호];

  다음은 배열 객체에 저장된 값들을 모두 출력하는 예제이다.

  3개의 실행문은 모두 같은 결과를 출력한다.

<script>
	var arr = [30, "따르릉", true];
	
	document.write("<h3>배열값 가져오기-1</h3>");
	document.write(arr[0],"<br>");
	document.write(arr[1],"<br>");
	document.write(arr[2],"<br>");
	
	document.write("<h3>배열값 가졍괴-2</h3>");
	for(var i=0; i<arr.length; i++){
		document.write(arr[i], "<br>");
	}
	
	document.write("<h3>배열값 가져오기-3</h3>");
	for(i in arr){
		document.write(arr[i], "<br>");
	}
</script>

  다음은 배열 객체에서 사용할 수 있는 메소드와 속성이다.

  다음은 배열 객체 메소드인 join(), concat(), slice(), sort(), reverse()를 사용한 예제이다.

<script>
	var arr_1=["사당", "교대", "방배", "강남"];
	var arr_2=["신사", "압구정", "옥수"];
	
	var result=arr_1.join("-");
	console.log(result);
	
	result=arr_1.concat(arr_2);
	console.log(result);
	
	result=arr_1.slice(1,3);
	console.log(result);
	
	arr_1.sort();
	console.log(arr_1);
	
	arr_2.reverse();
	console.log(arr_2);
</script>

  다음은 배열 객체 메소드인 splice(), pop(), push(), shift(), unshift()를 사용한 예제이다.

<script>
	var greenArr=["교대", "방배", "강남"];
	var yellowArr=["미금", "정자", "수서"];
	
	greenArr.splice(2, 1, "서초", "역삼"); <!-- 2번 인덱스부터 1개의 데이터를 삭제한다. 그런다음 "서초", "역삼"을 삽입한다. -->
	console.log(greenArr);
	
	var data1 = yellowArr.pop(); <!-- yellowArr 배열 마지막 인덱스의 데이터를 data 1에 저장-->
	var data2 = yellowArr.shift(); <!-- yellowArr 배열 가장 앞쪽 인덱스의 데이터를 data2에 저장한다 -->
	
	yellowArr.push(data2);<!--data2에 저장된 데이터를 yellowArr 배열의 마지막 인덱스에 밀어 넣는다-->
	console.log(yellowArr);
	
	yellowArr.unshift(data1);<!--data1에 저장된 데이터를 yellowArr 배열의 가장 앞쪽 인덱스에 밀어 넣는다-->
	console.log(yellowArr);	
</script>

문자열 객체

  문자열 객체는 문자형 데이터를 객체로 취급하는 것으로, 자바스크립트에서 가장 많이 사용한다.

 

문자열 객체 생성하기

  문자열 객체를 생성하는 기본형은 다음과 같이 new 키워드와 String()메소드를 사용한다.

var 참조변수=new String(문자형 데이터)

var t=new String("hello javascript"); <!-- 문자열 객체 생성-->

  문자열 객체는 다음과 같이 참조 변수에 문자형 데이터만 입력해도 객체가 생성된다.

var 참조변수=문자형데이터

var t="hello javascript"; <!-- 문자열 객체 생성-->

  문자열 객체는 문자와 관련된 메소드와 속성을 제공하며, 이를 사용해 문자에 대한 다양한 정보를 얻을 수 있다.

문자열 객체의 메소드 및 속성

종류

설명

charAt(index)

문자열에서 인덱스 번호에 해당하는 문자를 반환한다.

) var str=”web he she”; str.charAt(2); <- “b”를 반환

indexOf(“찾을 문자”)

문자열에서 왼쪽부터 찾을 문자와 일치하는 문자를 찾아 제일 먼저 일치하는 문자의 인덱스 번호를 반환. 만일 찾는 문자가 없으면 -1을 반환.

) var str=”web he she he”; str.indexOf(“he”); <- 4를 반환

lastIndexOf(“찾을 문자”)

문자열에서 오른쪽부터 찾을 문자와 일치하는 문자를 찾아 제일 먼저 일치하는 문자의 인덱스 번호를 반환. 만일 찾는 문자가 없으면 -1을 반환.

) var str=”web he she he”; str.lastIndexOf(“he”) <- 11을 반환

match(“찾을 문자”)

문자열에서 왼쪽부터 찾을 문자와 일치하는 문자를 찾아 제일 먼저 찾은 문자를 반환한다. 만일 찾는 문자가 없으면 null을 반환.

) var str=”web he she he”; str.match(“boy”); <-null을 반환

replace(“바꿀 문자”, “새 문자”)

문자열에서 왼쪽부터 바꿀 문자와 일치하는 문자를 찾아 제일 먼저 찾은 문자를 새 문자로 치환한다.

) var str=”web he she”; str.replace(“web”,”html”); <- “html he she”를 반환

search(“찾을 문자”)

문자열에서 왼쪽부터 찾을 문자와 일치하는 문자를 찾아 제일 먼저 일치하는 인덱스 번호를 반환.

) var str=”web he she”; str.search(“he”); <- 4를 반환

Slice(a, b)

a개의 문자를 자르고 b번째 이후에 문자를 자른 후 남은 문자를 반환

) var str=”hello javascript” str.slice(3, 7); <- “lo j”를 반환

str.slice(3, 7); 은 문자열에서 3글자 “hel”까지 자르고 7번째 이후 글자인 “j”이이부터 “avascript”를 자른후 나머지 “lo j”를 반환

) var str=”hello javascript” str.slice(3, -3); <-“llo javascr”를 반환

여기에서 -1은 뒤에서부터 첫번째 글자를 가리킨다.

substring(a, b)

a 인덱스부터 b 인덱스 이전 구간의 문자를 반환.

) var str=”hello javascript” str.substring(3, 7); <- “lo j”를 반환

) var str=”hello javascript” str.substring(3, -3); <- “hel”을 반환.

여기에서 -3은 인덱스 0을 가리킨다.

그러므로 인덱스 0부터 인덱스 3 이전 구간의 문자를 반환

Substr(a, 문자개수)

문자열에 a 인덱스부터 지정한 문자 개수만큼 문자열을 반환.

) var str=”hello javascript” str.substring(3,2); <- “lo”를 반환

str.str(3, 2);3 문자열에서 인덱스 3“l”부터 2글자를 가져와서 “lo”를 반환

Split(“문자”)

지정한 문자를 기준으로 문자 데이터를 나누어 배열에 저장하여 반환

) var str=”webkmobilek2002”;

(index)

var arr=str.split(“k”); <- arr[0]= “web”arr[1]=”mobile” arr[2]=”2002”

toLowerCase()

문자열에서 영문 대문자를 모두 소문자로 바꾼다.

) var str=”ABC”; str.toLowerCase(); <- “abc”를 반환

toUpperCase()

문자열에서 영문 소문자를 모두 대문자로 바꾼다.

) var str=”abc”, str.toUpperCase(); <-“ABC”를 반환

length

문자열에서 문자의 개수를 반환

) var str=”hello welcome”; str.length <- 13을 반환

concat(“새로운 문자”)

문자열에 새로운 문자열을 결합

) var str=”hello”; str.concat(“web”); <- “hello web”을 반환

charCodeAt(index)

문자열 index에 해당 문자의 아스키 코드값을 반환

) var str=”ABC”; str.charCodeAt(0) <- “A”의 아스키 코드값 65를 반환

fromCharCode(아스키 코드 값)

아스키 코드값에 해당하는 문자를 반환

) String fromCharCode(65); <- “A”를 반환

trim()

문자의 앞 또는 뒤에 공백 문자열을 삭제(“hello” -> “hello”);

) str=”hello”; str.trim(); <- 공백이 제거된 “hello”를 반환

   다음은 문자열 객체 메소드와 속성을 사용한 예제이다. 문자열 객체에 내장되어 있는 메소드를 사용하여 현재 문자에

   지정한 위치(인덱스)또는 특정 문자에 대한 정보를 불러와 출력한다.

<script>
	var t="Hello Thank you good luck to you";
		document.write(t.charAt(16), "<br/>");	<!--인덱스 16에 저장된 문자를 불러온다 -->
		document.write(t.indexOf("you"), "<br/>"); <!-- 문자열 왼쪽에서 부터 제일 먼저 발견된 "you"의 인덱스 값을 반환-> 12-->
		document.write(t.indexOf("you", 16), "<br/>"); <!--문자열 인덱스 16 위치부터 제일 먼저 발견된 "you"의 인덱스 값을 반환 ->29-->
		docuemnt.write(t.lastIndexOf("you"),"<br/>");<!-- 문자열 오른쪽에서부터 왼쪽 방향으로 제일 먼저 발견된 "you"의 인덱스 값을 반환->29-->
		document.write(t.lastIndexOf("you",25), "<br/>");<!--문자열 인덱스 25부터 왼쪽방향으로 제일 먼저 발견된 "you"의 인덱스 값을 반환 ->12-->
		document.write(t.match("luck"), "<br/>");<!--문자열 왼쪽에서부터 제일 먼저 발견된 "luck"과 일치되는 문자를 찾아 반환-->
		document.write(t.search("you"), "<br/>");<!--문자열 왼족에서부터 제일 먼저 발견된 "you"의 인덱스 값을 반환->12-->
		document.write(t.substr(21,4), "<br/>");<!--문자열 인덱스 21부터 네글자를 가져온다 -> "luck"-->
		document.write(t.substring(6,12), "<br/>");<!--문자열 인덱스 6부터 12이전까지의 문자를 가져온다 ->"Thank"-->
		document.write(t.replace("you","me"), "<br/>");<!--문자열 왼쪽에서부터 제일 먼저 발견된 "you"를 "me"로 치환한다 -->
		document.write(t.toLowerCase(), "<br/>");<!-- 문자열의 영문자가 모두 소문자로 바뀐 문자열을 반환 -->
		document.write(t.toUpperCase(), "<br/>");<!-- 문자열의 영문자가 모두 대문자로 바뀐 문자열을 반환 -->
		document.write(t.length, "<br/>");<!--문자열의 문자 총 개수를 반환한ㄷ. 이때 공백도 문자로 취급한다. -> 32-->
		
		var s=t.split("");<!-- 공백 문자를 기준으로 문자를 분리. 분리된 문자열은 배열에 저장되어 s에 할당한다-->
		
		document.write(s[0], "<br/>"); <!--s의 인덱스 0에 저장된 문자열을 출력한다 ->"Hello"-->
		document.write(s[4], "<br/>"); <!--s의 인덱스 4에 저장된 문자열을 출력한다 ->"luck"-->
		
		var str="A";
		var t=str.charCodeAt(0);<!--변수에 저장된 문자열 중 0번 인덱스의 문자 "A"의 아스키 코드값을 반환.-->
		
		document.write(t);<!--"A"의 아스키 코드 값 65를 출력-->
		document.write(String.fromCharCode(65),"<br/>")<!--코드값 65에 해당하는 문자를 반환-->
</script>

 

(참고 : do it 자바스크립트+제이쿼리 입문)

 

'Java Script' 카테고리의 다른 글

제어문  (0) 2020.05.19
연산자  (0) 2020.05.17
변수  (0) 2020.05.16
자바 스크립트 기초문법  (1) 2020.05.16
자바스크립트 간단한 실행문 예제  (1) 2020.05.16

제어문이란 프로그램의 흐름을 제어할 수 있도록 도와주는 문장이다.

조건을 만족하는지의 여부에 따라 코드를 제어할 수 있는 조건문과 변수에 일치하는 경의 값에 따라 코드를 제어할

수 있는 선택문 그리고 특정 코드를 여러번 반복해서 실행할 수 있도록 하는 반복문이 있다.

 

조건문

  조건식의 값이 true인지 false인지에 따라 자바스크립트 코드를 제어한다.

  조건문의 종류에는 if문 else문 그리고 else if문이 있다.

 

if문

  if문은 조건식을 만족할 경우에만 코드를 실행한다.

  boolean과 마찬가지로 어떤 데이터를 입력해도 true 또는 false를 반환한다.

  기본형은 자바와 같다. 

기본형
if(조건식)	{
    자바스크립트 코드;
}
var num=10;
if(num<500){ //true를 반환한다.
	document.write("hello");
}

  위 예제에서 num<500 의 비교결과는 10<500이므로 true를 반환한다.

  조건문 내에 적어 놓은 hello는 현재 조건이 만족하기 때문에 출력된다.

if(0){ //false를 반환한다.
    document.write("hello");
}

  위 예제의 조건식에 있는 0은 boolean()메소드에 0을 입력했을 때와 결과가 같다.

  그 결과 false를 반환하여 조건문 내의 코드를 실행하지 않는다.

 

  다음 에제는 방문자로부터 입력받은 걸음 수를 조건문으로 만들고, 걸음 수가 10,000보 이상일 경우에만 결과를

  출력한다.

<script>
    var walkAmount = prompt("당신의 하루 걷는 양은 몇 보인가요?", "0");
    
    if(walkAmount >= 10000){
        document.write("매우 좋은 습관을 지니고 계시는군요!!","<br>");
    }
    document.write("==========The End==========");
</script>

  10,000보 이상일 경우에는 조건식에 true를 반환하여 { }안의 코드를 실행하지만 10,000보 미만일 경우에는

  ========The End=========를 출력한다.

 

조건식에 논리형 데이터가 아닌 다른 형이 오는 경우

  조건식에 논리형데이터(ture,false)가 아닌 다른 형의 데이터가 입력되어도 true 또는 false로 인식된다.

  

  다음 예제에서 방문자가 질의응답 창에 이름을 입력하지 않으면 기본 응답값인 빈문자("")가 변수에 저장되어

  조건식에 false값이 반환되고 그 결과 문장이 출력되지 않는다.

<script>
    var userName = prompt("방문자의 이름은?","");
    
    if(userName){  //userName에 이름이 저장되면 중괄호 내의 코드가 실행.
        document.write(userName+"님 반갑습니다! 방문을 환영합니다.");
    }
</script>

 

else문

  조건식을 만족할 경우와 만족하지 않을 경우에 따라 실행되는 코드가 달라진다.

  즉, 두가지 결과가 나올 수 있다.

 

  다음은 조건식의 만족 여부에 따라 실행되는 코드가 달라지는 else문의 기본형이다.

if(조건식){
    자바스크립트코드1;
}else{
    자바스크립트코드2;
}

 

<script>
    var num = prompt("당신이 좋아하는 숫자는?","0");
    
    if(num % 2 == 0){ //짝수일 경우에 실행
        document.write("당신이 좋아하는 숫자는 짝수입니다.");
    }else{
        document.write("당신이 좋아하는 숫자는 홀수입니다.");
    }
</script>

 

  다음은 confirm객체를 사용하여 웹페이지에 회원 탈퇴 여부를 묻는 확인/취소 창이 나타나게 하고,

  else 조건문으로 사용자가 확인 버튼을 눌렀을 때와 취소 버튼을 눌렀을 때 결과 화면이 다르게 나타나도록 할 것이다.

 

  확인/취소 창은 confirm() 메소드를 사용한다.

  확인 버튼은 true, 취소 버튼은 false를 반환한다.

기본형

confirm("message");

 

  다음은 confirm() 메소드를 사용해 회원 탈퇴 여부를 묻는 창을 만드는 예제이다.

<script>
    var result = confirm("정말로 회원을 탈퇴하시겠습니까?");
    
    if(result){
        document.write("탈퇴처리 되었습니다.");
    }else{
        document.write("탈퇴 취소 되었습니다.");
    }    
</script>

else if문

  else if문은 두가지 이상의 조건식과 정해놓은 조건을 만족하지 않았을 때 실행되는 코드로 이루어져 있다.

  

  다음은 else if문의 기본형이다.

if(조건식1){
    코드1;
}else if(조건식2){
    코드2;
}else if(조건식3){
    코드3;
}else if(조건식4){
    코드4;
}else if(조건식5){
    코드5;
}else{
    코드 6;
}

  가장 위에 있는 조건식 1부터 5까지 차례로 조건 검사를 하면서 만족하는 값이 나오면 그에 해당하는 코드를 실행하고

  조건문을 종료한다.

  조건식 중 만족하는 값이 하나도 없으면 else문의 중괄호 { }에 있는 코드를 실행한다.

 

  다음 예제는 질의응답 창을 이용하여 "현재는 몇월입니까"를 묻고 else if문을 사용해 현재 월에 해당하는 계절과

  관련된 문구가 출력되도록 했다.

<script>
    var mon = prompt("현재는 몇월입니까?","0");
    
    if(mon >= 9 && mon <= 11){	//9-11
        document.write("독서의 계절 가을이네요!!");
    }else if(mon >= 6 && mon <= 8{	//6-8
        document.write("여행가기 좋은 여름이네요!!");
    }else if(mon >= 3 && mon <= 5{	//3-5
        document.write("햇살 가득한 봄이네요!!");
    }else{
        document.write("스키의 계절 겨울이네요!!");
    }
</script>

중첩 if문

  조건문 안에 조건문이 있는 것을 중첩 if문이라 한다.

기본형

if(조건식1){
  if(조건식2){
    자바스크립트코드;
  }
}

  중첩 if문은 바깥쪽에 있는 조건문인 조건식 1을 만족해야만 안쪽에 있는 조건문인 조건식 2를 검사한다.

  만일 안쪽 if문의 조건식 2를 만족하지 않으면 바깥쪽 조건문인 조건식1의 중괄호 안에 있는 코드만 실행하고

  종료한다.

  

  다음은 중첩 if문을 사용해 아이디와 비밀번호가 일치했을 때 환영문구가 출력되도록 작성한 예제이다.

<script>
  var id="easy1004"; //아이디
  var pw="112233";   //비밀번호

  var user_id=prompt("아이디는?", "0"); //아이디입력
  var user_pw=prompt("비밀번호는?", "0"); //비밀번호 입력

  if(id == user_id){  //아이디가 일치하면 실행한다.
    if(pw == user_pw){
      document.write(user_id+"님 반갑습니다."); //비밀번호가 일치하면 실행한다.
    }else{
      alert("비밀번호가 일치하지 않습니다."); //비밀번호가 일치하지 않으면 실행한다.
      loaction.reload();  //브라우저 새로고침
    }
  }else{
    alert("아이디가 일치하지 않습니다");  //아이디가 일치하지 않으면 실행한다.
    location.reload();
  }
</script>

반복문

  while문

    while문은 조건식을 만족할 때까지 코드를 여러 회 반복하여 실행할 수 있다.

    다음은 while문의 기본형이다.

var 변수=초기값;

while(조건식){
    자바스크립트코드;
    증감식;
}

    while문의 실행 순서는 조건식을 검사하고 만족하면 중괄호 안에 있는 코드를 실행한다.

    그리고 다시 조건식을 검사한다.

 

    다음은 while문을 사용해 "안녕하세요1 ~ 안녕하세요10"까지 1씩 증가하면서 10회 출력하도록 작성한 예제이다.

<script>
      var i = 1;
      while(i<=10){
        document.write("안녕하세요"+i, "<br>");
        i++;
      }
      document.write("======The End======");
</script>

    다음은 while문을 사용하여 1부터 30까지의 숫자 중 2의 배수이면서 6의 배수인 숫자만 출력하는 예제이다.

<script>
      var i = 1;
      while(i<=30){
        if(i % 2 == 0 && i % 6 == 0){

        document.write(i, "<br>");
        }
        i++;
      }
</script>

    다음은 20부터 10까지의 숫자 중 짝수일 경우에는 파란색으로 출력되고, 홀수일 경우에는 빨간색으로 출력되도록

    작성한 예제이다.

<script>
      var i = 20;
      while(i>=10){
        if(i % 2 == 0){
        document.write("<p class='blue'>"+i+"</p>");
        }else{
        document.write("<p class='red'>"+i+"</p>");
        }
        i++;
      }
</script>

  do while문

    do while문은 반드시 한번은 코드를 실행하고 조건식을 검사한다.

    다음은 do while문의 기본형이다. 중괄호에 있는 코드를 먼저 실행하고 조건식을 검사한다.

var 변수 = 초기값;

do{
    자바스크립트코드;
    증감식;
}while(조건식)

    다음은 do while문의 예제이다.

<script>
      var i = 10;

      do{
        document.write("hello!");
      }while(i<3)
</script>

   

    do에 있는 hello를 먼저 출력하고 조건식을 검사한다. 조건식은 false이기 때문에 do while문이 종료된다.

 

for 문

  for문은 조건식을 만족할 때까지 특정 코드를 반복하여 실행한다. while문과 사용방법은 같지만 while문보다 

  사용하기 편해 사용 빈도가 높은 편이다.

  다음은 for문의 기본형이다.

for(초기값; 조건식; 증감식){
    자바스크립트코드;
}

  다음은 for문으로 '반복1~반복 10'까지 i를 1씩 증가하며 출력한 예제이다.

<script>
      for(var i = 1; i <= 10; i++){
        document.write("반복"+i, "<br>");
      }
</script>

  다음은 1부터 100까지 5의 배수일 경우에는 빨간색글자, 7의 배수일 경우에는 초록색 글자 그리고 5의 배수이며

  7의 배수일 경우에는 아쿠아색 글자로 출력하는 예제이다.

<script>
      for(var i = 1; i <= 100; i++){
        if(i % 5 == 0 && i % 7 != 0){
          document.write("<p class='red'>"+i+"</P>");
        }else if(i % 7 == 0 && i % 5 != 0){
          document.write("<p class='green'>"+i+"</p>");
        }else if(i % 7 == 0 && i % 5 == 0){
          document.write("<p class='aqua'>"+i+"</P>");
        }
      }
</script>

break 문

  반복문에서 break문을 실행하면 조건식과 상관없이 강제로 반복문을 종료한다.

  즉, break문은 반복문을 강제로 종료할 때 사용한다.

 

  다음은 break문의 기본형이다.

  break문이 코드보다 앞에있으므로 코드는 실행되지 않고 반복문이 바로 종료된다.

for(초기값; 조건식; 증감식){
    break; <!--반복문을 강제로 종료한다.-->
    자바스크립트코드;
}

var 변수 = 초기값;
while(조건식){
    break;
    자바스크립트코드;
    증감식;
}

  다음은 1부터 10까지 반복하도록 작성한 예제이다. 그리고 break문을 사용하여 i의 값이 6일경우 강제로 종료한다.

    <script>
      for(var i = 1; i <= 10; i++){
        if(i == 6) break;
        document.write(i, "<br>");
      }
      document.write("=====The End=====");
    </script>

continue문

  continue문은 반복문에서만 사용할 수 있다. while문에 사용할 경우 continue문 다음에 오는 코드는 무시하고

  바로 조건식으로 이동해 조건 검사를 한다. 즉, while문 안에 있는 continue문은 "다음에 오는 코드는 무시하고

  조건식에서 조건 검사를 실행"하라고 하는 것이다.

 

  for 문에서 continue문을 실행할 경우에는 continue문 다음에 오는 코드는 무시하고 바로 증감식으로 이동하여

  증감연산을 실행한다. 즉, for 문 안에 있는 continue문은 "다음에 오는 코드는 무시하고 증감식을 바로 실행"

  하라는 것이다.

 

  continue문의 기본형은 다음과 같다.

for(초기값; 조건식; 증감식){
    continue;
    자바스크립트 코드;
}

var 변수 = 초기값;
while(조건식){
    증감식;
    continue;
    자바스크립트 코드;
}

  다음은 for문을 이용해 1부터 10까지 i가 2의 배수일 경우에만 continue 문을 실행하여 홀수만 출력하는 예제이다.

<script>
      for(var i = 1; i <= 10; i++){
        if(i % 2 ==0)continue;
        document.write(i, "<br>");
      }
      document.write("====The End====");
</script>

중첩 for문

  for문 안에 for문을 사용한 것을 중첩 for문이라고 한다. 중첩 for문은 예를 들어 자바스크립트를 이용해 3행 5열의

  표를 만든다고 할 때 1행씩 행이 만들어질 때 마다 5개의 열을 만들어야 할 경우에 사용한다.

  중첩 for문의 기본형은 다음과 같다.

for(초기값; 조건식; 증감식){
    for(초기값; 조건식; 증감식){
        자바스크립트 코드;
    }
}

  다음은 중첩 for문을 사용하여 1행 1열부터 3행 2열까지 출력하는 예제이다.

<script>
      for(var i = 1; i<=3; i++){
        for(var k=1; k<=2; k++){
          document.write(i+"행"+k+"열", "<br>");
        }
        document.write("<br>");
      }
</script>

 

(참고 : do it 자바스크립트+제이쿼리 입문)

'Java Script' 카테고리의 다른 글

객체(내장객체)  (1) 2020.05.19
연산자  (0) 2020.05.17
변수  (0) 2020.05.16
자바 스크립트 기초문법  (1) 2020.05.16
자바스크립트 간단한 실행문 예제  (1) 2020.05.16

연산자란?

  자바스크립트에서 사용하는 연산자에는 산술, 문자 결합, 대입(복합 대입), 증감, 비교, 논리, 삼항 조건 연산자가 있다.

 

산술 연산자

  산술 연산자에는 더하기(+), 빼기(-), 곱하기 (*), 나누기(/), 나머지(%)가 있다.

  산술 연산자로 연산을 하기 위해서는 연산 대상 데이터가 반드시 2개 이상 있어야 한다.

  

  다음 예제는 산술 연산자를 사용하는 예제이다.

<script>
    var num1=15;
    var num2=2;
    var result;
    result = num1 + num2;
    document.write(result, "<br>");	//17
    result = num1 - num2;
    document.write(result, "<br>");	//13
    result = num1 * num2;
    document.write(result, "<br>");	//30
    result = num1 / num2;
    document.write(result, "<br>");	//7.5
    result = num1 % num2;
    document.write(result, "<br>");	//1
</script>

문자 결합 연산자

  문자 결합 연산자는 피연산자(연산 대상 데이터)가 문자형 데이터이다.

  여러개의 문자를 하나의 문자형 데이터로 결합할 때 사용한다.

 

  다음과 같이 더하기에 피연산자로 문자형 데이터가 한 개라도 포함되어 있으면 다른 피연산자의 데이터는 자동으로

  문자형 데이터로 형 변환되고 문자 결합이 이루어져 하나의 문자형 데이터를 반환한다.

문자형 데이터 + 문자형 데이터 = 하나의 문자형 데이터
ex)"do it" + "javascript" = "do it javascript";

문자형 데이터 + 숫자형 데이터 = 하나의 문자형 데이터
ex) "100" + 200 = "100200";

  다음은 t1, t2, t3, t4라는 변수에 문자와 숫자 데이터를 각각 넣고 하나의 문자 데이터로 결합하는 예제이다.

<script>
    var t1="학교종이";
    var t2="땡땡땡";
    var t3=8282;
    var t4="어서 모이자";
    var result;
    
    result=t1+t2+t3+t4;
    document.write(result);	//학교종이 땡땡땡 8282 어서 모이자
</script>

대입 연산자

  대입 연산자(=)는 연산된 데이터를 변수에 저장할 때 사용한다.

  복합 대입 연산자(+=, -=, *=, /=, %=)는 산술 연산자와 대입연산자가 복합적으로 적용된것을 말한다.

  다음은 대입연산자 예제이다.

<script>
    var num1=10;
    var num2=3;
    
    num1+=num2;	//num1 = num1(10)+num2(3);
    document.write(num1, "<br>");	//13
    
    num1-=num2;	//num1 = num1(10)-num2(3);
    document.write(num1, "<br>");	//10
    
    num1*=num2;	//num1 = num1(10)*num2(3);
    document.write(num1, "<br>");	//30
    
    num1%=num2;	//num1 = num1(10)%num2(3);
    document.write(num1, "<br>");	//0
</script>

  다음은 여러개의 문자형 데이터로 저장된 HTML 태그를 복합 대입 연산자를 이용하여 하나의 문자로 결합한 다음

  document.write(str);을 이용하여 화면에 출력하는 예제이다.

<script>
    var srt="<table border='1'>";
    str +="<tr>";
    str +="<td>1</td><td>2</td><td>3</td>";
    str +="</tr>";
    str +="</table>";
    
    <!--여러개의 문자형 데이터가 하나의 문자로 결합되어 str에 저장.
         즉, 한개의 문자형 데이터로 결합.-->
    
    document.write(str);
    
    <!--str을 출력하면 문자가 아닌 태그로 인식되어 표가 출력.-->
</script>

  결과화면

  문자형 데이터로 저장된 태그를 복합 대입 연산자를 사용해서 하나의 데이터로 결합 하였기 때문에

  표가 만들어 진다.

 

증감연산자

  증감 연산자에는 숫자형 데이터를 1씩 증가시키는 증가 연산자(++)와 반대로 1씩 감소시키는 감소연산자(--)가 있다.

  증감 연산자는 앞에서 배운 연산자와는 달리 피연산자가 한 개만 필요한 단항 연산자이다.

  증감 연산자는 어느위치에 오는가에 따라 결과값이 달라진다.

변수의 값을 1만큼 감소시킨다.
변수--; 또는 --변수;

변수의 값을 1만큼 증가시킨다.
변수++; 또는 ++변수;
var A=++B;
<!-- 먼저 B의 값을 1만큼 증가시키고 증가된 B의 값을 A에 대입한다.-->

var A=B++;
<!-- B의 값을 A에 먼저 대입한 뒤 B의 값을 1만큼 증가시킨다-->

  다음은 증감연산자를 사용해 증감 처리 하고 문서에 출력하는 예제이다.

<script>
    var num1=10;
    var num2=20;
    var result;
    
    num1--;			//9
    document.write(num1, "<br>");
    
    num1++;			//10
    document.write(num1, "<br>");
    
    result = num2++;		//result: 20, num2:21
    document.write(result, "<br>");
    
    result = ++num2;		//result:22, num2:22
    document.write(result, "<br>");
</script>

비교연산자

  두 데이터를 '크다, 작다, 같다'와 같이 비교할 때 사용하는 연산자이다.

  연산된 결과값은 true, false로 논리형 데이터를 반환한다.

  

  다음은 비교연산자의 종류이다.

  비교 연산자 ==와 !+는 피연산자의 자료형(type)이 비교 연산자의 실행 결과에 영향을 미치지 않는다.

  다음 예제의 경우 변수 k에는 숫자형 데이터 10이 저장되었고, 변수 m에는 문자형 데이터 "10"이

  저장되었다.

  그리고 두 변수 모두 숫자형 데이터 10과 같은지 비교하였고 결과는 둘 다 true를 반환한다.

var k=10, m="10";
k==10	//true
m==10	//true

  비교연산자 중 ===와 !==는 피연산자 자료형에 따라 결과값이 달라진다.

  다음 예제의 경우 변수 k에는 숫자형 데이터 10이 저장되었고, k===10은 숫자형 데이터로 둘다 일치하기 때문에 

  true를 반환한다.

  하지만 m에는 문자형 데이터 "10"이 저장되었다. 문자형데이터 "10"과 숫자형데이터 10은 자료형이 다르므로

  m===10은 false를 반환한다.

var k=10, m="10";
k===10	//true
m===10	//false
<script>
    var a=10;
    var b=20;
    var c=10;
    var f="20";
    var result;
    
    result=a>b;		//false
    document.write(result, "<br>");	<!-- a(10)>b(20)은 false가 반환된다.-->
    result=a<b;		//true
    document.write(result, "<br>");
    result=a<=b;	//true
    document.write(result, "<br>");
    result=b==f;	//true
    document.write(result, "<br>");	<!-- b(20)==f("20"은 자료형과 상관없이 숫자만 비교하여 true가 반환된다.-->
    result=a!=b;	//true
    document.write(result, "<br>");	<!-- a(10)!=b(20)은 데이터가 다르므로 true가 반환된다-->
    result=b===f;	//false
    document.write(result, "<br>");	<!-- b(20==f("20")은 숫자는 같지만 자료형이 다르므로 false가 반환된다.-->
</script>

 

논리연산자

  논리 연산자에는 ||(or), &&(and), !(not)이 있다.

  논리 연산자는 피연산자가 논리형 데이터인 true 또는 false로 결과값을 반환한다.

 

연산자 우선순위

  1. ()

  2. 단항 연산자(--, ++, !)

  3. 산술 연산자(*, /, %, +, -)

  4. 비교 연산자(>, >=, <, <=, ==, ===, !==, !=)

  5. 논리 연산자(&&, ||)

  6. 대입(복합대입)연산자(=, +=, -=, &=, /=, %=)

 

  다음은 비교연산자와 논리연산자를 적용한 예제이다.

  코드 한줄에 비교연산자와 논리연산자가 함께 포함되어 있다면 연산자 우선순위에 따라 비교연산이 먼저 실행되고,

  그 다음 논리연산자가 실행된다.

<script>
    var a=10;
    var b=20;
    var m=30;
    var n=40;
    
    var result;
    result = a>b || b>=m || m>n;		//false||false||false
    document.write(result, "<br>");		//false
    
    result = a>b || b>=m || m<=n;		//false||false||true
    document.write(result, "<br>");		//true
    
    
    result = a<=b && b>=m && m<=n;		//true&&false&&true
    document.write(result, "<br>");		//false
    
    
    result = a<=b || b<=m && m<=n;		//true&&true&&true
    document.write(result, "<br>");		//true
    
    
    result = !(a>b);				//!false를 계산
    document.write(result, "<br>");		//true
</script>

  연산자는 피연산자 중 true가 한개라도 포함되어 있으면 true를 반환한다.

  &&연산자는 피연산자 중 false가 한개라도 포함되어 있으면 false를 반환한다.

  !연산자는 피연산자가 false면 true를 반환한다.

 

삼항 조건 연산자

  삼항 조건 연산자는 조건식(true또는 false의 결과값을 반환)의 결과에 따라 실행 결과가 달라지는 삼항연산자로,

  연산을 위해 피연산자가 3개 필요하다.

 

  삼항 조건 연산자는 연산한 결과 조건식의 만족 여부에 따라 실행하는 코드를 다르게 실행하고자 할 때

  사용한다. 예를 들어 방문자로부터 입력받은 나이값이 20세 이상이면 '성인'이라 출력하고,

  미만이면 '미성년자'라고 출력하도록 할 때 사용할 수 있다.

조건식 ? 자바스크립트 코드 1 : 자바스크립트 코드 2;
<script>
    var a=10;
    var b=3;
    
    var result=a>b ? "javascript" : "hello";
    <!-- a(10)>b(3)은 true 이므로 "javascript"가 result에 저장된다.-->
    document.write(result);	//javascript
</script>

 

예제

  적정 체중을 구하는 테스트기.

    적정 체중 계산법 : 적정체중 = (본인신장 - 100) x 0.9

  

  결과 폼

신장: 180(cm)
체중: 74(kg)
적정 체중: (180-100) x 0.9 = 72(kg)
결과: 적정 체중은 72kg이며, 현재 적정 체중에서 2kg 초과한 것을 알 수 있습니다.

  신장과 체중은 추후 바뀔 수도 있으므로 변수에 저장한다. 신장이 바뀌면 적정 체중도 바뀔것이므로,

      적정체중도 변수에 저장한다.

<script>
    var userHeight=180;	//신장
    var userweight=74;	//체중
    
    //평균체중 = (신장 - 100) x 0.9
    var nomal_w=(userHeight - 100) * 0.9; //결과값을 nomal_w에 저장
    document.write(nomal_w);
</script>

  코드 작성하기

    코드내에서 변수에 직접 대입하는 것이 아닌 사용자가 직접 입력해서 사용할 수 있도록 코드를 작성.

    사용자가 입력 할 수 있는 창을 만들때는 prompt() 메소드를 사용한다.

    prompt() 메소드의 기본형은 prompt("질문","기본응답"); 이며, 사용자로부터 입력된 값은 문자형 데이터로 반환한다.

<script>
    var name=prompt("당신의 이름은?","");		//이름입력
    var height=prompt("당신의 신장은?","");		//신장입력
    var weight=prompt("당신의 몸무게는?","");		//체중입력
    
    var nomal_w=(height - 100)*0.9;		//평균체중
    var result=weight>=nomal_w - 5 && weight <= nomal_w + 5;	//오차범위 +-5
    result = result ? "적정 체중입니다." : "적정 체중이 아닙니다";
    document.write(name+"님은"+result);
</script>

(참고 : do it 자바스크립트+제이쿼리 입문)

'Java Script' 카테고리의 다른 글

객체(내장객체)  (1) 2020.05.19
제어문  (0) 2020.05.19
변수  (0) 2020.05.16
자바 스크립트 기초문법  (1) 2020.05.16
자바스크립트 간단한 실행문 예제  (1) 2020.05.16

자바스크립트에서의 변수 선언

  변수를 선언할 때는 var 키워드를 변수명 앞에 붙인다.

  변수명에는 한글을 사용할 수 없으며, 영문과 숫자 그리고 일부 특수문자(_  $)만 포함 될 수 있다.

  단어와 단어의 조합으로 짓는 변수명은 두번째 단어의 첫 글자를 대문자로 표기하는데

  이것을 낙타(Camel)표기법이라고 한다. (ex.mathNum)

기본형
    var 변수명;
    var 변수명=값;

  변수를 선언하면 변수명으로 데이터를 저장할 수 있는 공간이 생긴다.

  다음 예제처럼 대입하면 변수에 100이 저장된다.

var box;
box=100;

변수에 저장할 수 있는 자료형

  변수에 저장할 수 있는 자료형(Data Type)으로는 문자형(String), 숫자형(Number), 논리형(Boolean) 그리고

  빈 데이터(Undefined)가 있다.

  

  문자형

    문자형(String)데이터는 문자나 숫자를 "" 또는 ''로 감싸고 있다.

    또한 HTML 태그를 포함하여 출력하면 태그로 인식한다.

var 변수="사용할 문자나 숫자";

var s="javascripot";
var num=100;
var tag="<h1>String</h1>";

  숫자형

    숫자형(number)데이터는 단어 의미 그대로 숫자를 의미한다.

    만약 "100"과 같이 ""가 숫자를 감싸고 있다면 숫자형이 아닌 문자형이다.

    이 경우에는 Number("100")을 이용하면 문자형 데이터를 숫자형 데이터로 바꿀 수 있다.

var 변수=숫자; 또는 Number("문자형 숫자");

var s=100;
var t=Number("500"); //"500"-> 500

  논리형

    논리형(boolean)데이터는 true(참) 또는 false(거짓)가 있다.

    기본형은 다음과 같다.

var 변수=true or false; 또는 Boolean(데이터);

var s=true;
var t=10)=100;		//false
var k=Boolean("hello");	//true

    Boolean() 메소드에 데이터를 입력하면 논리형 데이터인 true 또는 false를 반환한다.

    Boolean() 메소드는 숫자 0과 null, undefined, 빈 문자(" ")를 제외한 모든 데이터에 대해 true를 반환한다.

 

    다음 예제와 같이 Boolean()메소드에 숫자 0을 입력하면 false라는 값을 반환한다. 그리고 Boolean()메소드에

    "홍길동"을 입력하면 true를 반환한다.

var m=Boolean(0)	//false
var k=Boolean("홍길동")	//true

    다음 예제는 논리형 값, 비교 연산자, Boolean 메소드를 사용해 변수에 논리형 데이터를 저장한 후 문서에 

    출력하는 예제이다.

<script>
    var a=true;
    var b=false;
    var c=10>5;			//true
    var d=Boolean(null);	//false
    
    document.write(a, "<br>");
    document.write(b, "<br>");
    document.write(c, "<br>");
    document.write(d, "<br>");
</script>

    결과값은 다음과 같다.

true
false
true
false

  null & undefined 데이터

    undefined는 다음과 같이 변수 s에 값이 등록되기 전의 기본값이고, null은 변수에 저장된 값이 null인 경우를 

    가리킨다. null은 변수에 저장된 데이터를 비우고자 할 때 사용한다.

var s;	//undefined
var t=hello;
t=null;

  typeof

    typeof는 지정한 데이터 또는 변수에 저장된 자료형을 알고 싶을 때 사용한다.

typeof 변수 또는 데이터;

    다음은 typeof를 이용하여 변수에 저장된 자료형을 알아내는 예제이다.

<script>
    var num=100;
    var str="자바스크립트";
    
    document.write(typeof num, "<br>");	//number
    document.write(typeof str);		//string
</script>

    결과값은 다음과 같다.

number
string

변수 선언 시 주의사항

  1. 변수명 첫 글자로는 &, _(언더바), 영문자만 올 수 있다.

var 1num=10;	(X)
var $num=10;	(O)

  2. 변수명 첫 글자 다음은 영문자, 숫자, &, _ 만 포함할 수 있다.

var 100num=10;	(X)
var num100=10;	(O)

  3. 변수명으로는 예약어(document, location, window 등)를 사용할 수 없다.

      예약어란 이미 자바스크립트에서 사용중인 단어를 말한다.

var document=10;	(X)
var num=10;		(O)

  4. 변수명을 지을때는 되도록 의미를 부여해 작성하는 것이 좋다.

var num="hello";	(X)
var num=10;		(O)

  5. 변수명을 사용할 때는 대,소문자를 구분해야 한다.

var num=10;	document.write(Num)	(X)
var num=10;	document.write(num)	(O)

 

(참고 : do it 자바스크립트+제이쿼리 입문)

'Java Script' 카테고리의 다른 글

객체(내장객체)  (1) 2020.05.19
제어문  (0) 2020.05.19
연산자  (0) 2020.05.17
자바 스크립트 기초문법  (1) 2020.05.16
자바스크립트 간단한 실행문 예제  (1) 2020.05.16

여기서는 자바와 다른 부분만 체크해서 작성할 것이다.

 

자바스크립트 선언문

  선언문은 자바스크립트 코드를 작성할 영역을 선언하는 것이다.

  <script>라는 태그로 선언문이 시작된 곳 부터 </script>라는 종료 태그를 작성한 곳까지를 스크립트 영역이라고 한다.

<script>
    <!-- 자바스크립트 코드 영역 -->
</script>

  선언문은 <head> 태그 영역 또는 <body> 태그 영역에 선언하면 된다.

  우리나라에서 대부분은 <head>태그 영역에 선언하고 있다고 한다.

  

  다음은 선언문 작성 예제.

<!DOCTYPE html>
<html lang="ko">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <script>
        document.write("환영합니다");
    </script>
</head>
<body>
</body>
</html>

  doucument는 문서 객체이며 문서 출력 메소드인 write()를 이용하여 데이터를 문서에 출력할 때 사용한다.

 

자바스크립트 주석처리

  스크립트 선언문 안에서 주석처리를 하고 싶을 때, 한줄 주석일 경우에는 '//'로 작성하고,

  여러줄 주석일 경우에는 '/*  */'로 작성하면 된다.

  HTML  소스의 설명글은 <!-- -->로 작성한다.

 

내부스크립트 외부로 분리하기

  위 예제에서 HTML 내부에 작성된 스크립트는 마지막에는 외부로 분리하는 작업을 해야한다.

  그렇게 하면 소스 찾기도 쉽고 누군가가 소스를 손상시킬 염려도 없다.

  즉, 분리의 주된 목적은 프로젝트 관리를 원활하게 하기 위함이다.

 

  다음은 외부 자바스크립트 연동 코드로 파일을 연결하는 기본형이다.

<script src="JS 파일 경로"></script>

  내부 스크립트를 외부로 분리하려면 따로 파일을 만들어서 저장해야 한다.

  즉, HTML 파일과 JS 파일을 분리하여 HTML 내에서 JS 파일을 연동하면 된다.

 

내부 스크립트 분리하기

 

  먼저 js 파일을 만든다.

document.write("환영합니다");

  html파일을 열어 위에 작성한 js파일을 연동한다.

<!DOCTYPE html>
<html lang="ko">
  <head>
    <meta charset="UTF-8">
    <title>외부 자바스크립트 연동</title>
    <script src="js/example.js"></script>
  </head>
  <body>
    
  </body>
</html>

  'src="파일 경로" '로 해당 경로의 내부 스크립트를 분리가 되었다.

  이렇게 분리하면 소스를 분석할 때 찾기 쉬울 뿐 아니라 다른 개발자가 잘못하여 소스를 손상시킬 일도 없다.

 

코드 입력 시 주의사항

 1. 자바스크립트는 대,소문자를 구분하여 작성한다.

날짜 객체 생성 : New date(); (X)
날짜 객체 생성 : new Date(); (O)

  2. 코드 한 줄을 작성한 후에는 세미콜론(;)을 쓰는 것이 좋다. 세미콜론을 쓰지 않으면 다음 예제처럼 한 줄에

     2개의 코드를 작성할 경우 오류가 발생한다.

document.write("hi") document.write("bye")   (X)
document.write("hi"); document.write("bye"); (O)

  3. 위 예제처럼 작성해도 오류가 발생하거나 하진 않지만 가독성을 위해 한 줄에 한 문장만 작성하는 것이 좋다.

 

  4. 문자형 데이터를 작성할 때는 큰 따옴표("")와 작은따옴표('')의 겹침 오류를 주의해야 한다.

큰 따옴표 겹침 오류
document.write("책에 "자바스크립트는 대소문자를 구분해야 합니다"라고 나와있다.");

잘된 예
document.write('책에 "자바스크립트는 대소문자를 구분해야합니다"라고 나와있다.');
document.write("책에\"자바스크립트는 대소문자를 구분해야합니다\"라고 나와있다.");

  5. 코드를 작성할 때 중괄호{} 또는 소괄호()의 짝이 맞아야 한다.

document.write("welcome!";  (X)
document.write("welcome!"); (O)

 

(참고 : do it 자바스크립트+제이쿼리 입문)

'Java Script' 카테고리의 다른 글

객체(내장객체)  (1) 2020.05.19
제어문  (0) 2020.05.19
연산자  (0) 2020.05.17
변수  (0) 2020.05.16
자바스크립트 간단한 실행문 예제  (1) 2020.05.16
<!DOCYTPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>맛보기 예제<title>
</head>
<body>
	<script>
    	var age = prompt("당신의 나이는?", "0");
        if(age >= 20){
        	document.write("당신은 성인입니다");
        }else{
        	document.write("당신은 미성년자입니다.");
        }
    </script>
</body>
</html>

 

prompt로 age값을 설정하고 if문으로 조건에 맞는 write를 출력한다.

document.write는 자바에서 System.out.print와 같은 것이다.

 

(참고 : do it 자바스크립트+제이쿼리 입문)

'Java Script' 카테고리의 다른 글

객체(내장객체)  (1) 2020.05.19
제어문  (0) 2020.05.19
연산자  (0) 2020.05.17
변수  (0) 2020.05.16
자바 스크립트 기초문법  (1) 2020.05.16

+ Recent posts