dukDukz

2021.03.30 Javascript 기본 문법 본문

웹 개발/JAVASCRIPT

2021.03.30 Javascript 기본 문법

헤일리_HJ 2021. 3. 30. 16:48

1. 함수와 변수

        a = 0;
        a == 0;
        /*
            = , == 차이
        */


        
        console.log(a);     // a
        console.log(a==0);  // true

        function a(){
            console.log(0);
        }
        

function 정의하고 나서 실행이 바로 안됨

이것을 실행하려면 사용을 해야함 사용법 : 함수명 ();

 

function a (){  } --> a();

a = 0 ; --> a;

 

 

2.  함수안에 인자 값

function hello(a){
            console.log(a);
        }

        hello();
        // 이렇게만 하면 undefined 가 콘솔에 찍힘 --> 선언시 아무 값도 주지 않았기 때문

hello(); 함수를 선언할 때 a인자 값을 주지 않았기 때문에 a는 undefined가 됨

결과 : undefined

 

 function hello(a,b){
            console.log(a);
            console.log(b);
        }

        hello(1);   // 콘솔에 1 , undefined 가 찍힘*/

hello(); 함수를 선언할 때 a 인자값만 주고 b 인자 값을 주지 않았기 때문에 b는 undefined가 됨

결과 : 1

        undefined

 

 

 

3. if 문 & for 문

 

1) if 문과 for문 console 로 출력하기

        if(true){
            console.log('if문','hello world');
        }
   
        for(i=0; i<10; i++){
            console.log('for문','hello world');
        }

결과 : if문 hello world

        for문 hello world

 

 

2) for문의 i 값을 2 곱해서 출력하기

for(i=1; i<=9; i++){
            console.log(i*2);
        }

결과: 2 4 6 8 10 12 14 16 18 

 

 

3) a에 값을 넣고 1부터 9까지 곱해서 출력하기

function num(a){
            for(i=1; i<=9; i++){
                console.log(a+'*'+i+'='+a*i);
            }
        }
        num(2);

결과 : 2*1=2

        2*2=4 .... 2*9=18

 

num(숫자); 숫자를 바꿀 때마다 a 값을 변경할 수 있다.

 

 

4) string값을 인자로 함수에 넣어서 출력하기

function num(string1){
            console.log(string1);
        }
        num("a");

결과 : a

 

 

5)  i 값이 5일때만 hello world를 찍고 나머지는 i 값을 찍기

 for(i=1; i<=10; i++){
            if(i==5){
                console.log("hello world");
            }else{
                console.log(i);
            }
        }

결과 :

1

2

3

4

hello world

6

7

8

9

        

 

6) i가 3의 배수인 경우만 hello world를 출력하기

// 여러가지 방법
        // i == 3 || i == 6 ... or || 를 사용할 수 있다.
        // if else if 로 3 6 9.... 로 할 수 있음
        
        for(i = 1; i<=15; i++){
            if(i%3 == 0){
                console.log("hello world");
            } else{
                console.log(i);
            }
        }

결과 :

1

2

hello world

4

5

hello world

7

8

hello world

10

11

hello world

13

14

hello world

 

 

추가) 이건 왜 안될까?

for(i = 1; i<=15; i++){
            for(a=1; a<=5; a++){
                if(i == a*3){
                    console.log("hello");
                }else{
                    console.log(i);
                }
            }

 

 

i = 1 인 상태에서 for a*3 ( = 3 6 9 12 15)까지 다섯번 돈다. 그래서 i가 다섯번 찍힘

i = 2 인 것도 동일함

i = 3 이면 a*3 =3 일때 hello가 찍히고 나머지 4번이 돈다.

 

i = 6이면 ( 3 6 9 12 15)에서 a*3의 두번째가 6이므로 i=6 한번 찍히고 그 다음에 hello가 찍힌 다음에 나머지 3번이 돈다. 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

4. 함수, 전역변수, 지역변수

1) 지역변수

        function hello(){
            i = 0;
            
            console.log(i);
            i++;
            //console.log(i);
        }
        hello();        // 0
        
        hello();        // 0 변수가 초기화 됐기 때문에 0이 된다.--> i = 0;이 function 안에 있는 경우
                        // i = 0;을 전역변수로 설정하면 0 1 이 나온다.

결과 :  0

         0

i =0 ; 선언 및 초기화 하고 콘솔에 0으로 찍는다. 그 후에 i++로 i=1 로 만들어준다.

하지만 hello(); 함수를 선언할때마다 함수 안에서 변수가 i=0;으로 초기화 되기 때문에 계속 값이 0이 나온다.

 

 

2) 전역변수

        i = 0;
        
        function hello(){
            
            console.log(i);
            i++;
            //console.log(i);
        }
        hello();        // 0
        
        hello();

결과 : 0

        1

hello(); 불러오면 i=0 이니까 0으로 찍고 i값을 증가시킨다. 그러면 i=1

hello(); 또 불러오면 i=1인 상태이고 이걸 콘솔로 찍는다. 그다음에 i 하나 증가시킨다.

 

 

 

3)  var 전역변수 와 var 지역변수 

 var b = "나는 비다";
        function hello(){
            var b = "나는 에이다";  // 함수안에서 var로 선언하면 이 함수 안에서만 쓰겠다는 것
            console.log(b);     // 나는 에이다
        }
        hello();
        console.log(b);     // 나는 비다

 

결과 : 나는 에이다
        나는 비다

 

전역 변수로 b= '나는 비다' 가 들어가있음

hello(); 함수를 호출하고 b에 '나는 에이다'를 새로 넣어줌 (앞에 var이 붙어있으므로 이 함수안에서만 쓰겠다는 뜻)

콘솔로 b를 찍어서 방금 들어간 '나는 에이다'를 찍어줌

함수를 빠져나와서 콘솔로 b를 다시 찍으면 '나는 비다' 가 나옴

 

함수 밖에서 변수 선언시 var를 붙이면 전역변수인것.

함수 안에서 변수 선언시 var를 붙이면 지역변수인것.

 

var b = "나는 비다";
        function hello(){
            b = "나는 에이다";  // 함수안에서 var로 선언하면 이 함수 안에서만 쓰겠다는 것
            console.log(b);     // 나는 에이다
        }
        hello();
        console.log(b);     // 나는 비다

결과: 

나는 에이다

나는 에이다

 

함수 안에서 var를 안쓰고 값을 변경해준다면 전역변수의 값을 변경해주겠다. 라는 뜻이다.

그래서 함수를 나와서 찍었을 때도 변경된 값인 '나는 에이다'가 나온다.

 

 

 

5. 함수안에서 값을 증가시킬때 num++

 var num = 0;
        function hello(){
            if(num > 7){
            num = 0;
        }
            console.log(num);
            num ++;
        }
        
        hello();    // 0    
        hello();    // 1 
        console.log(num); // 2

결과:

0

1

2

 

var num = 0;
        function hello(){
            if(num > 7){
            num = 0;
        }
            console.log(num);
            num ++;
        }
       
        hello();
        hello();
        hello();
        hello();
        hello();
        hello();
        hello();
        hello();
        hello();
        hello();
        hello();

결과 :

0

1

2

3

..10

 

 var num = 0;
        function hello(){
           for(i=0; i<10; i++){
               console.log(i, num); 
           }
            num ++;
        }
        hello();
        hello();
        hello();

결과: