본문 바로가기

웹언어/JAVASCRIPT

[JS강좌] 8강 자바스크립트 내장함수 - 오쌤의 니가스터디

728x90
반응형

 

 

 

 

 

 

 

 

** 영상으로 보고 싶은 분은 아래 주소를 클릭하세요!

https://www.youtube.com/watch?v=gfFCPE0E9qM 

 

 

 

 

 

 

 

 

 

1. 기본내장함수

- 내장함수라는 것은 자바스크립트가 함수선언을 미리 해놔서 호출만해서 사용하는 함수를 말합니다.

- 다른 차원에서는 window의 메서드로 보기도 하는데 메서드란 객체와 함께 사용되므로 저는 아래에서 배울 것들은 내장함수라고 보도록 하겠습니다.

 

 

 

1) alert()

## 문법

alert(값);

- 매개변수로 지정된 값을 경고창에 띄워주는 함수입니다.

- 확인 버튼을 누르면 창을 닫힙니다.

 

 

 

## 예시코드

<!DOCTYPE html>
<html lang="ko">
    <head>
        <meta charset="UTF-8">
        <title>JS 내장함수</title>
        <script>
            alert('품절입니다.');
        </script>
    </head>
    <body>
        
    </body>
</html>

 

 

 

## 코드 결과

경고창이 뜨는 것을 확인할 수 있습니다.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2) confirm()

## 문법

confirm(값);

- confirm함수는 매개변수에 작성된 값을 창에 띄워줍니다.

- 확인버튼을 누르면 [true]값을 반환하고, 취소버튼을 누르면 [false]값을 반환하는 함수입니다.

 

 

 

 

## 예시 코드

<!DOCTYPE html>
<html lang="ko">
    <head>
        <meta charset="UTF-8">
        <title>JS 내장함수</title>
        <script>
            var q = confirm('결제하시겠습니까?');

            if(q){
                alert('결제성공');
            }else{
                alert('결제취소');
            }
        </script>
    </head>
    <body>
        
    </body>
</html>

- 보통 조건문과 많이 사용되며, true/false인 불표현식과 관련 있습니다. 

 

 

 

## 코드 결과

확인버튼 누르면 [결제성공], 취소버튼을 누르면 [결제취소]가 나옵니다.

 

 

 

 

 

 

3) prompt()

## 문법

prompt(설명텍스트,예시텍스트);

- 경고창을 띄워 사용자에게 값을 입력할 수 있도록 하는 함수입니다.

 

 

 

 

## 예시 코드

<!DOCTYPE html>
<html lang="ko">
    <head>
        <meta charset="UTF-8">
        <title>JS 내장함수</title>
        <script>
            //사용자에게 정수를 입력받음
            var num = prompt('제곱을 구할 정수를 입력하세요');
            
            //제곱을 구하는 함수
            function square(x){
                return x * x; //return : 값을 반환하라는 키워드
            }
            
            alert('결과 : ' + square(num));
        </script>
    </head>
    <body>
        
    </body>
</html>

 

 

 

## 코드 결과

- 원래의 매개변수 숫자를 새롭게 제곱값으로 반환하는 것을 확인할 수 있습니다.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

728x90

 

 

 

 

 

 

 

 

 

 

 

2. 타이머함수

- 자바스크립트는 시간 간격으로 명령을 실행시킬 수 있습니다.

- 이것을 타이밍이벤트라고하고 함수로 작성됩니다.

 

 

1) 타이머함수의 종류

종류 정의 구문
setTimeout 일정 시간 후 콜백함수(혹은 함수)를 한번 실행 setTimeout(콜백함수, 시간);
setInterval 일정 시간마다 콜백함수(혹은 함수)를 반복해서 실행 setInterval(콜백함수, 시간);
clearTimeout 일정 시간 후 함수를 한번 실행하는 것을 중지 clearTimeout(해당변수);
clearInterval 일정 시간마다 함수를 반복하는 것을 중단 clearInterval(해당변수);

- 콜백함수 : 함수의 매개변수에 데이터유형을 함수를 쓰는 것을 의미합니다. 코드의 집합으로 여러 식을 하나로 묶어주는 역할로 사용합니다.

- 시간 : 밀리초단위사용, 1초가 1000입니다.

 

 

 

 

 

 

 

 

 

2) setTimeout

- 일정 시간 후 콜백함수(혹은 함수)를 한번 실행하는 함수입니다.

 

## 문제

5초 후에 문서에 [5초가 지났습니다]라고 출력하시오.

 

## 예시 코드

<!DOCTYPE html>
<html lang="ko">
    <head>
        <meta charset="UTF-8">
        <title>JS 내장함수</title>
        <script>
            setTimeout(function(){
                document.write('<h3>5초가 지났습니다</h3>');
            },5000);
        </script>
    </head>
    <body>
        
    </body>
</html>

 

 

## 코드 결과

바로 뜨지 않고 5초뒤에 뜨는 것을 확인할 수 있습니다.

 

 

 

 

 

 

 

 

 

2) setInterval

- 일정 시간마다 콜백함수(혹은 함수)를 반복해서 실행하는 함수입니다.

 

 

## 문제

1초마다 [n초가 지났습니다]라고 문서출력

 

 

## 예시 코드

<!DOCTYPE html>
<html lang="ko">
    <head>
        <meta charset="UTF-8">
        <title>JS 내장함수</title>
        <script>
            var num = 1;
            
            setInterval(function(){
                document.write('<h3>' + num + '초가 지났습니다</h3>');
                
                num++;
            },1000);
        </script>
    </head>
    <body>
        
    </body>
</html>

 

 

## 코드 결과

1초마다 글자가 출력되는 것을 확인할 수 있습니다.

 

 

 

 

 

 

 

 

3) clearInterval

- 일정 시간마다 함수를 반복하는 것을 중단하는 함수입니다.

 

## 문제

1초마다 [n초가 지났습니다]라고 문서출력
단, 10초까지만 반환하세요.

 

 

## 예시 코드

<!DOCTYPE html>
<html lang="ko">
    <head>
        <meta charset="UTF-8">
        <title>JS 내장함수</title>
        <script>
            var num = 1;
            
            var time = setInterval(function(){
                document.write('<h3>' + num + '초가 지났습니다</h3>');
                
                num++;
            },1000);
            
            //10초뒤에 한번만 일어남
            setTimeout(function(){
                clearInterval(time); //setInterval함수를 중지
            },10001);
        </script>
    </head>
    <body>
        
    </body>
</html>

 

 

## 코드 결과

10초에서 끝나서 멈추는 것을 확인할 수 있습니다.

 

 

 

 

 

 

 

 

 

 

 

 

 

 


 

 

 

 

 

 

 

 

 

 

 

 

 

3. 기타 함수

1) parseInt()

- 문자열에 있는 숫자만을 정수로 반환하는 함수입니다.

- 비슷한 함수로는 parseFloat()가 있어 숫자를 실수로 반환하는 함수입니다.

 

 

## 문법

parseInt(문자열);

 

 

## 문제

환율계산기를 만드시오.
단, 100달러, 100$라고 사용자가 쓰더라도 계산되도록 처리하시오.

 

 

## 예시 코드

<!DOCTYPE html>
<html lang="ko">
    <head>
        <meta charset="UTF-8">
        <title>JS 함수</title>
        <script>
            //환율계산기
            var dollar = 1120;
            var num = prompt('몇달러를 환전하시겠습니까?','정수입력');
            
            //parseInt(문자열) : 문자열중 숫자만 정수로 반환
            alert('환전금액 : ' + (dollar * parseInt(num)) + '원');
        </script>
    </head>
    <body>
        
    </body>
</html>

 

 

 

## 코드 결과

parseInt()함수를 통해 문자열에 숫자가 아닌 다른 문자가 있어도 연산이 가능해집니다.

** 보통 이함수를 쓰는 것은 추후에 영역에서의 px단위를 빼기 위함입니다.

 

 

 

 

 

 

 

 

 

 

 

 

2) isNaN()

- NaN(not a number) : 수식의 결과가 숫자가 아니라는 Number객체의 속성입니다.

- isNaN()함수는 매개변수의 수식의 결과가 NaN이면 true를 반환하고 그렇지 않으면 false를 반환합니다.

- 보통 isOOO()이라는 함수나 메서드는 결과가 불표현식(true/false)로 처리되는 것이 관례입니다.

 

 

## 문법

isNaN(수식);

 

 

## 문제

환율계산기를 만드시오.  경고창결과 - 환전금액 : 1000원
단, 숫자가 아닌 것을 사용자가 입력하면 [정수로 입력해주세요]라는 경고창을 띄워주세요.

 

 

## 예시 코드

<!DOCTYPE html>
<html lang="ko">
    <head>
        <meta charset="UTF-8">
        <title>JS 내장함수</title>
        <script>
            //환율계산기
            var dollar = 1120;
            var num = prompt('몇달러를 환전하시겠습니까?','정수입력');
            
            if(isNaN(dollar * num)){ //수식이 NaN이라면
                alert('정수로 입력해주세요');
            }else{
                alert('환전금액 : ' + (dollar * num) + '원');
            }
        </script>
    </head>
    <body>
        
    </body>
</html>

 

 

## 코드 결과

숫자가 아닌 값을 입력하면 [정수로 입력해주세요]라는 경고창이 뜨는 것을 확인할 수 있습니다.

 

 

 

 

 

 

 

 

 

 

 

3) eval()

- 매개변수에 있는 문자열을 코드로 변환시켜주는 함수입니다.

 

 

## 문법

eval(문자열);

 

 

## 문제

사용자에게 좌변값, 우변값, 연산자를 입력받아 계산되는 프로그램을 만드시오.

 

 

## 예시 코드

<!DOCTYPE html>
<html lang="ko">
    <head>
        <meta charset="UTF-8">
        <title>JS 내장함수</title>
        <script>
            var left = prompt('좌변값입력','정수입력');
            var right = prompt('우변값입력','정수입력');
            var operator = prompt('연산자입력','+,-,*,/ 중 한개입력');

            //Number(문자열) : 문자열을 숫자로 변경해주는 Number객체함수
            var result = Number(left) + operator + Number(right);

            alert(eval(result));
        </script>
    </head>
    <body>
        
    </body>
</html>

 

 

 

 

## 코드 결과

원래대로라면 값을 붙여서 보여주겠지만 eval()함수를 써서 연산이 가능해집니다.

- eval()함수를 쓰지 않으면 연산되지 않고 [10+5]이런식으로 표시됩니다.

 

 

 

 

 

 

 

 

 

 

 

 

728x90
반응형