SooBlending

[JavaScript] JavaScript의 개념 및 Java와 차이점 본문

Programming/JavaScript

[JavaScript] JavaScript의 개념 및 Java와 차이점

블랜더 2017. 11. 29. 15:25

< JavaScript와 Java차이점 >


1. JavaScript: 클라이언트 스크립트 (브라우저에서 실행!!) 

   JSP(Java) : 서버 스크립트 (JVM에서 실행!!)

   

   

   hello.html

     -----> HTML태그

            CSS

            JavaScript

            

   hello.jsp

     -----> HTML태그

            CSS

            JavaScript

            Java

   

   

2. JavaScript는 HTML문서내에 포함되어서  실행.

  <html>

    <head>

      <script>

                 변수선언, 함수(function)정의

      </script>

    </head>

   ------------------------- 

    <body>

      <script>

                 함수 호출    

      </script>

    </body>  

  </html>

  

3. 자료형을 선언,정의하지 않는다!! ★  


   자바case)

      String name="홍길동";

             name="길라임";

             name=10; (X)

      

  자바스크립트case)

      name="홍길동";     

      var su; ---> 변수선언  

          su=10; ---> number타입

          su="김주원"; ---> String타입

          su=new Date(); ---> Date타입

          

          

4. JavaScript내의 주석

  - Java와 동일

  - //       : 라인주석

    /*   */  : 블럭주석

  - HTML주석은 <script>태그를 인식하지 못하는 브라우저를 위해 정의!!

  

     <!--

          alert('안녕');  ====> 만약 HTML주석을 사용하지 않는다면 화면에 출력!!

     -->           

      

5. 자바스크립트에서의 문자열 표현

  ---> 작은 따옴표와 큰 따옴표를 구분없이 사용!!

         ----> 전혀 차이가 없음. 

         

  name1="홍길동";   (O)       

  name2='길라임';   (O)

  name3="김주원';   (X)    

  

  

  str1 == str2

  '길동' === "길동"   ===>? true

      

6. 자바스크립트는 구분자, 종결자 역할을 하는 ';'을 생략하는 것이 가능.

  ===> 이유: 라인(줄바꿈)을 통해 서로 다른 문장을 구분하기 때문.

  

  name='길동'

  age=13

  ==> (O)


  잘못된 예)

    name="라임"  age=15

    ===> (X)


    name="라임";  age=15

    ===> (O)

    

7. 자바스크립트 /(몫), %(나머지)


   10/5  ----> 2

   10%5  ----> 0

   

   10/3  ----> 3.33333333

              parseInt(3.33333333) ----> 3

              

   10%3  ----> 1                  



8. 조건문


   if(조건식){

        조건식 결과가 참일 때 실행할 문장;

   }

   

   

   if(조건식){

        조건식 결과가 참일 때 실행할 문장;

   }else{

      조건식 결과가 거짓일 때 실행할 문장;

   }

   

   

   if(조건식1){

        조건식1 결과가 참일 때 실행할 문장;

   }else if(조건식2){

        조건식1 결과가 거짓이고!!

        조건식2 결과가 참일 때 실행할 문장;

   }else{

        조건식1,2 결과가 거짓일 때 실행할 문장;

   }


   ※차이점 

   if(조건식 ===> boolean, 숫자, 객체){

   

   }

   

   숫자: 0인 수(false), 0아닌 수(true) 구분

   객체: 브라우저에서 지원되는 객체인지 아닌지 판별.

      ---> 변수에 값이 존재하는지 판단.

      

   존재하는 객체(문자열, 브라우저가 지원하는 객체) ---> true

  null                                ---> false      

   


9. 반복문

   for(초기화; 조건식; 증감연산자){

            반복할 자바스크립트 문장;

   }


   문제) 브라우저 화면에 '안녕'을 10번 출력하시오.



   for(var i=0; i<10; i++){

      document.write('안녕~!!');   

   }


10. switch/case문

   switch(정수,문자){//자바 JDK6버전까지

   

   }

   switch(정수,문자열){//자바스크립트

      case "길동":

      case "라임":

   }


11. 문자열 비교

   자바)

     str1 == str2      : 메모리 비교

     str1.equals(str2) : 문자열 내용 비교

     

   자바스크립트)

     str1.equals(str2) ===> 에러!! (equals메소드르 제공X)

     str1 == str2      : 문자열 내용 비교!!

     

     ===> 빈문자열 체크

          1. str.length == 0

          2. str == ''    ==> 내용비교

             str === ''   ==>엄격한 비교(1. 자료형검사, 2.내용검사)

             str !== ''   ==>엄격한 비교(1. 자료형검사, 2.내용검사)

             ===> 2번을 많이 사용   


12. 함수(메소드)정의!! ★★


   함수형식)

     function 함수명(){

       

     } ----> return;

     

     function 함수명(변수명1, 변수명2){

       return "리턴값";

     } 

   

  자바스크립트의 함수는 오버로딩을 제공할까요?

    ---> 기본적으로 제공X


    function hello(){

           안녕!!

    }

    

    hello();호출 ----> 안녕!! 

    

    function hello(){

           씬짜오!!

    }

    ===> 에러 발생X 

    hello();호출 ----> 씬짜오!!

    

    function hello(name){

           봉쥬르!!

    }

    

    ===> 에러 발생X

    ===> 나중에(밑에) 정의된 같은 이름의 함수가 존재한다면(매개변수의 갯수는 상관없이)

                아래에 있는 함수로 overwrite됨!!

     

    ===> 함수호출시 매개변수와 상관없이 함수명만 일치하면 호출 가능!!     

           hello();              (O) ----> 봉쥬르!!

           hello('홍길동');        (O) ----> 봉쥬르!! 

           hello('홍길동',13);     (O) ----> 봉쥬르!!

    

13. HTML태그내의 속성 중 on접두사를 갖는 속성은 이벤트 속성. (~ 했을때)

  예) <input type='button' value='버튼' onclick="자바스크립트 코드">

                                              ===> 주로 함수 호출

                                     ===> 버튼을 클릭했을때

     onfocus : 포커스가 들어왔을때                                              

     onblur : 포커스를 잃었을때

     onchange : select태그에서 선택을 바꾸었을때

     onkeydown : 키보드를 눌렀을때

     onkeyup   : 키보드 땠을때

     onmouseover   : 마우스가 진입했을때, 엘리먼트위에 올려졌을때 

     onmouseout    : 마우스가 나갔을때

     onmousedown   : 마우스를 클릭했을때

     

14. 생성자

    JTextField tf = new JTextField();

     ---> 데이터 얻을 때  :  변수명 = tf.getText();

     ---> 데이터 줄때      :  tf.setText(데이터);     

     

    자바스크립트)

    <input type='text' name='su1'

                       id='su1'

                       class='su1'

                       value='기본값'>

    

     ---> 데이터 얻을 때 :  변수명 = su1.getValue();                                              

                     ====>   변수명 = su1.value;

     ---> 데이터 줄때     :   su1.setValue(데이터);

                     ====>          su1.value = 데이터;       

                     

15. <배열 Array>

            자바:           자료형 [] 변수명 = new 자료형[size];

            자바스크립트:             변수명 = new Array(size);


   예) var myArry = new Array(5);

        ===> 배열의 크기(length)가 5인 배열 생성!!

        ===> ※ 변수선언에 자료형 뿐만 아니라 []를 명시하지 않음.

         var myArry[] = new Array(5);   ===> (X)

    - 자바스크립트 배열은 한 변수명에 여러 자료형의 데이터를 입력할 수 있음.

    - 가변길이 배열!! (정해진 범위를 넘어서는 데이터에 대해서도 입력가능)

    - 데이터 집합을 표현할 때 {}를 사용하지 않고 []를 사용.

       ===> 자바) int [] su = {1,2,3,4};

       

                      자바스크립트)  var su = {1,2,3,4};  ===> 에러발생!!

                       var su = [1,2,3,4];   ===> (O)

                       

   ※ 참고 ★★

    '{}'표기는 JSON(JavaScript Object Notation)표현!!

    

  ===> 형식) 자바의 Map 또는 Properties와 비슷. (key,value쌍으로 데이터를 저장!!)

             key==>변수명 , value==>데이터!!

                                 

  ===> var 변수명 = {key1:value, key2:value, key3:value};                       

                   key: 데이터를 저장하기 위한 유일한 변수.

                   value: 저장할 데이터.

                   

   var v = {} ;   ===> v는 Object다!!  

     ===> var v = new Object(); 와 동일함!!

    

   예)

     var arr = {11,22,33}; (X)===> 에러발생: {}는 JSON

                                        JSON은  {key:value}!!

     var arr = [11,22,33]; (O)

     ---> 데이터 접근법)   arr[0]  arr[1]  arr[2]

     

     var p = {name:'홍길동', age:13, job:'학생'};

     ---> 데이터 접근법1)  p.name   p.age  p.job

                  데이터 접근법2)  p['name']   p['age']   p['job']                                        

             

         

'Programming > JavaScript' 카테고리의 다른 글

[JavaScript] Ajax 동기식 처리 하는 법  (0) 2022.11.17
Comments