📚 JavaScript関数



単一の操作を実行するためのブロック

📕 関数の宣言と呼び出し


🎁 構文
function 함수이름(매개변수1, 매개변수2, ...) {
	함수가 호출되었을 때 실행하고자 하는 실행문;
}
함수이름() 또는 함수이름(변수1, 변수2, ...)
🎈 例
<script>
function hello() {
	document.write("안녕하세요");
}
hello(); //안녕하세요

function add(x, y) {
	document.write(x + y);
}
add(10, 20); //30
</script>

📙 パラメータ、引数、return


1.パラメータ(parameter)


関数を呼び出すときに引数として渡される値を関数で使用できる変数.

2.引数


関数を呼び出すときに、関数の値に値を渡します.

3. return


戻り文戻り値
🎈 例
<script>
function hello() {
	document.write("안녕하세요");
}
function num(x) {
	document.write(x + "을 입력했습니다");
} //x는 매개변수
function add(x, y) {
	return x + y;
} //x와 y는 매개변수
hello(); //안녕하세요
num(3); //3을 입력했습니다
var sum = add(3, 5); //3과 5는 인수
document.write(sum); //8
</script>

📒 変数の有効範囲


1.ゾーン変数(localvariable)


関数で宣言された変数
🎈 例
<script>
function num() {
	var x = 10;
   	document.write("지역변수 " + x); 
}
num(); //지역변수 10
document.write(x); //Uncaught ReferenceError: x is not defined
</script>

2.グローバル変数(グローバル変数)


関数の外部で宣言された変数
🎈 例
<script>
var x = 10;
function num() {
   	document.write("전역변수 " + x);
    x = 20; //전역 변수는 함수 내부에서도 접근하여 변경 가능
}
num(); //전역변수 10
document.write(x); //20
</script>

📗 関数の有効範囲


JavaScriptでは、定義範囲内で定義されたすべての変数と関数にアクセスできます.
🎈 例
<script>
var x = 10, y = 20; //전역 변수 x와 y
function sub() { //전역 함수 sub()
	return x - y; //전역 변수 x, y에 접근
}
document.write(sub()); //-10

function parentFunc() { //전역 함수 parentFunc()
	var x = 1, y = 2; //전역 변수의 범위 제한
    function add() { //내부 함수 add()
    	return x + y; //지역 변수 x, y에 접근
    } return add();
}
document.write(parentFunc()); //3
</script>
✔グローバル関数すべてのグローバル変数とグローバル関数にアクセス可能
✔内部関数は別の関数内で定義された関数で、その関数の親関数で定義されたすべての変数と親関数でアクセスできる他のすべての変数にアクセスできます

📘 さいきかんすう


関数の内部で自分の関数の関数を呼び出します.
🎈 例
<script>
//재귀함수를 사용해서 5 팩토리얼 구하기
function fact(x) {
	if(x == 1) {
    	return 1;
    } return x * fact(x - 1);
}
document.write(fact(5)); //120
</script>

📔 矢印関数


🎁 構文
(매개변수) => { 함수 내용 }
🎈 例
<script>
//매개변수가 없는 경우 매개변수를 넣는 괄호 안은 비워둔다
var hello = () => { return "안녕하세요" };
document.write(hello()); //안녕하세요

//중괄호 안에 함수 내용이 한 줄뿐이라면 중괄호를 생략할 수 있다
var hello = () => "안녕하세요";
document.write(hello()); //안녕하세요

//매개변수가 하나인 경우 매개변수의 괄호를 생략할 수 있다
var hi = user => { document.write(user + "님, 안녕하세요?"); }
hi("홍길동"); //홍길동님, 안녕하세요?

//매개변수가 둘 이상인 경우 매개변수를 쉼표로 구분한다
var sum = (x, y) => x + y;
document.write(sum(5, 6)); //11
</script>