JavaScript

[JavaScript] 자바스크립트 함수

k_sangmin 2023. 10. 12. 09:25

함수 : 메소드

특별한 목적을 수행하도록 정의된 독립적인 블록(중괄호로 묶인 부분)

필요할 때 마다 호출해서 반복 사용 가능

장점: 모듈 재사용, 코딩라인이 줄어듬

함수의 정의

함수의 이름

매개변수(인수) : 함수의 소괄호 안에 쉼표(,)로 구분, 중괄호 안에서 전달된 값을 변수로 사용

중괄호{} : 안에 실행문이 존재

function 함수이름(매개변수1, 매개변수2,...){
	함수가 호출되었을 때 실행하고자 하는 실행문;
}

함수의 반환

함수에서 실행된 결과를 반환함, 보통 반환된 결과값을 변수에 저장함

값으로서의 함수

변수에 함수를 저장해서 사용 가능

function 함수명(매개변수) {
	실행문;
}

var fun = 함수명;
document.write(fun(매개변수)); // 변수 fun를 함수처럼 호출함

매개변수와 인수

매개변수 : 함수의 정의 소괄호 안에 변수

인수 : 함수 호출시 넣는 실제값

매개변수 개수와 인수 개수가 안 맞을 경우 NaN 반환됨

함수 호출 시 매개변수에 인수가 실제 전달되지 않으면 그 매개변수엔 undefined 저장됨

function 함수명(매개변수1, 매개변수2) {
	실행문;
}

함수명(인수1)	   // 인수1 를 전달하여 함수를 호출 : NaN
함수명(인수1,인수2) // 인수1, 인수2를 전달하여 함수를 호출 : 실행문 실행해서 결과값 도출

자바스크립트 내장 함수

개발자를 위해 미리 정의된 내장 함수들

구분 설명 예시
eval() 문자열로 표현된 자바스크립트 코드를 실행하는 함수 var x = 10, y = 20;
var a = eval("x + y"); // 30
var b = eval("y * 3"); // 60
document.write(a + "<br>" + b);
isFinite() 전달된 값이 유한한 수인지를 검사하여 그 결과를 반환.
만약 인수로 전달된 값이 숫자가 아니라면, 숫자로 변환하여 검사
isFinite("123");     // true
isFinite("");        // true
isFinite("문자열");  // false
isFinite(undefined); // false
isNaN()  전달된 값이 NaN인지를 검사하여 그 결과를 반환.
만약 인수로 전달된 값이 숫자가 아니라면, 숫자로 강제 변환하여 검사
isNaN("123");     // false
isNaN("");        // false
isNaN("문자열");  // true
isNaN(undefined); // true
parseFloat() 문자열을 파싱하여 실수로 반환 parseFloat("123.456");    // 123.456
parseFloat("12 34 56");   // 12
parseFloat("123 초콜릿"); // 123
parseFloat("초콜릿 123"); // NaN
parseInt() 문자열을 파싱하여 정수로 반환 parseInt("123 초콜릿"); // 123
parseInt("초콜릿 123"); // NaN
parseInt("10", 10);     // 10
parseInt("10", 8);      // 8
parseInt("10", 16);     // 16
parseInt("0x10");       // 16
encodeURI() URI에서 주소를 표시하는 특수문자를 제외하고, 모든 문자를 부호화 var uri = "http://google.com/search.php?name=홍길동&city=서울";
var enc1 = encodeURI(uri);
document.write(enc1);
encodeURIComponent()  URI에서 encodeURI() 함수에서 부호화하지 않은 모든 문자까지 포함하여 부호화 var uri = "http://google.com/search.php?name=홍길동&city=서울";
var enc2 = encodeURIComponent(uri);
document.write(enc2);
decodeURI()  encodeURI() 함수 복호화 var uri = "http://google.com/search.php?name=홍길동&city=서울";
var enc1 = encodeURI(uri);
document.write(enc1 + "<br>" );
var dec1 = decodeURI(enc1);
document.write(dec1);
decodeURIComponent() encodeURIComponent() 함수 복호화 var uri = "http://google.com/search.php?name=홍길동&city=서울";
var enc2 = encodeURIComponent(uri);
document.write(enc2 + "<br>");
var dec2 = decodeURIComponent(enc2);
document.write(dec2);
Number()  전달받은 객체의 값을 숫자로 반환 Number("123.456");    // 123.456
Number("12 34 56");   // NaN
Number("123 초콜릿"); // NaN
Number(true);         // 1
Number(false);        // 0
Number(null);         // 0
String()  전달받은 객체의 값을 문자열로 반환 String(123);        // 123
String(123.456);    // 123.456
String("123");      // 123
String(null);       // null
String(true);       // true
String(false);      // false
String(Boolean(1)); // true
String(Boolean(0)); // false