58일차

Dogeun Lee·2023년 2월 24일
0

변수 선언 위치에 따른 선언

Java
public class Student {
//필드
- 멤버변수
private String name; instance 변수
public static String schoolName; class 변수

         //메소드
         public void method(String name){
                            //매개변수(==파라미터)
         int num=10; // Local 변수

         int(num>10){
            int a = 20; // Local 변수
         }
         }
    }


Java Script
키워드의 종류

default - 무조건 전역변수 ( 아무런 키워드가 없음)
var - 전역변수 ( 특정 메소드 내부에 있는 것이 아님 )
(2순위)let -
(1순위) const -

function test(){
var num3; // 메소드 내부의 지역변수
// var의 경우 {}를 무시하고 function 전체에서 사용가능하다
num4; // 메소드 내부에 있어도 전역변수
// ㄴ function이 끝나도 사용 가능하다.

if (true){
    var num5 = 500; // 지역변수
    num6; // 전역변수
}else{

}

}
var str = "JS 코드는 함수가 아닌 js파일 또는 script태그 내부에 바로 작성시"
+ "HTML 랜더링 시 바로 실행된다";
// 이하동문
var num1 = 100;
var num2 = 200;

console.log(str);
console.log(num1);
console.log(num2);

function test(){
var num3 = 300;
num4 = 400;
console.log("함수 내부 num3 = " + num3);
console.log("함수 내부 num4 = " + num4);
if (true) {
var num5 = 500; // 지역변수
num6 = 600; // 전역변수
}
console.log("if문 종료 후 : " + num5);
console.log("if문 종료 후 : " + num6);

}

test();

// 스크립트언어 = 인터프리터언어
// 중간에 에러발생 시 작동을 멈춤
//console.log("함수내부 num3 = "+num3);
console.log("함수내부 num4 = "+num4);



변수 선언 방식

    javascript는 변수 선언 시 자료형이 아닌
    var, let, const, default 중 하나를 선택해서 작성한다.

    var : 변수, 변수명 중복 O, 함수레벨 scope
    let : 변수, 변수명 중복 x, 블록{ }레벨 scope
    const : 상수, 변수명 중복 x, 블록{ }레벨 scope
    
    1순위 const
    - js는 html상에서 특정 요소를 선택해 지속적으로 추적하여 사용하는경우가 많다.
      상수형 변수에 저장하여 고정적으로 사용한다.
    2순위 let
    3순위 var
    비추천 : default


# Javascript의 자료형 확인
     변수 생성 시 자료형을 지정하지않는다.
    변수에 대입되는 값의 타입에 따라 자동으로 결정된다.

    - String ( 문자열 'abc',"abc")
    - number ( 숫자 실수,정수 1, -1.0)
    - boolean ( 논리형 true / false )
    - object ( 객체 / 배열(array), js객체{k:V, K:V 맵} )
    - function ( 함수 자료형)
    - undefine ( 자료형이 정의되지 않은 변수 > 값이 대입되지아니함)
    - null ( 참조하지 않는다. 자료형이 아니다 )
    
    

자료형 확인 ( + 변수 선언 방법)

function typeTest(){
    let temp1 = 100;
    //let temp1 = 200; >> 에러발생

    if(true){
        //블록 범위 확인
        let temp2 = 100;
        const temp3 = 300;
        //temp3 = 400;
        //Uncaught TypeError: Assignment to constant variable.

    }
    console.log(temp1);
    
    //console.log(temp2);
    //04_script.js:50 Uncaught ReferenceError: temp2 is not defined
    //console.log(temp3);
    //04_script.js:53 Uncaught ReferenceError: temp3 is not defined
}



![](https://velog.velcdn.com/images/dogeunlee89/post/ca956b24-225c-4d61-9857-8fe1a88dae1d/image.png)



06_이벤트

    이벤트 : 동작, 행위
            ->> 브라우저에서의 동작, 행위
            click, keydwon, keypress, keyup, mouseover
            mouseout, mouseleave, mouseenter, change, submit...
    이벤트 리스너 ( event listner )
            ->> 이벤트가 발생하는 것을 대기하고 있다가
            이벤트 발생이 감지되면 연결된 함수를 실행함
            onclick, onkeyup, oncahnge, onsubmit

    이벤트 핸들러 ( event handler )
            ->> 이벤트에 걸려있는 함수들        
profile
오대수

0개의 댓글