π λ°μ΄ν°λ₯Ό μ λ¬ λ°λ ν¨μμ μ μ
(맀κ°λ³μλ₯Ό μ§μ νμ¬ μνλ μΈμκ°μ κ³μ λ£μ μ μκ² νλ€)
function alertSuccess(name) {
alert(name + " λ λ‘κ·ΈμΈ λμμ΅λλ€.");
}
// nameμ΄λΌλ 맀κ°λ³μλ₯Ό μ§μ νμλ€.
alertSuccess("μ΄μν¬"); // 'μ΄μν¬ λ λ‘κ·ΈμΈ λμ
¨μ΅λλ€.'
alertSuccess("κΉμν¬"); // 'κΉμν¬ λ λ‘κ·ΈμΈ λμ
¨μ΅λλ€.'
alertSuccess("μ‘μν¬"); // 'μ‘μν¬ λ λ‘κ·ΈμΈ λμ
¨μ΅λλ€.'
// μνλ μΈμλ₯Ό 맀κ°λ³μμ λ£μ΄ κ°κ° λ€λ₯Έ κ°μ νΈμΆν μ μλ€.
β ν¨μ λ΄λΆμμ μΈμλ‘ λ°μ λ³μμ μλ‘μ΄ κ°μ λ£μΌλ©΄ μ λλ€.
function alertSuccess(name) { let name = "leedev"; // ν¨μ λ΄λΆμμ 맀κ°λ³μμ κ°μ λ£μΌλ©΄ μλλ€. return(name + "λ λ‘κ·ΈμΈ μ±κ³΅!"); } // μμ κ°μ΄ ν¨μ λ΄λΆμμ μΈμλ‘ λ°μ λ³μ(name)μ μλ‘μ΄ κ°("leedev")μ λ£μΌλ©΄ μ λλ€! // μΈμ(parameter)μ μ€μ λ‘ μ΄λ€ λ°μ΄ν°κ° μ λ¬λ μ§λ, νΈμΆν λ κ²°μ νλ κ²μ΄λ€. (μλμ²λΌ ν¨μλ₯Ό νΈμΆν λ) alertSuccess("leedev");
function isbiggerThanHundred(myNumber) { if (myNumber >100){ return("ν¬λ€!"); } if (myNumber <=100){ return("μλ€!"); } } console.log(isbiggerThanHundred(100)); // 'μλ€!' νΈμΆ // 맀κ°λ³μ(parameter) = myNumber // μΈμ(argument) = 100
π λ§€κ° λ³μ
ν¨μλ₯Ό μ μ νλ©΄μ, ν¨μ μ μΈμμ κ΄νΈ()
μμ μ΄λ€ λ³μλͺ
μ μ°λ©΄, κ·Έκ±Έ 맀κ°λ³μ
λΌκ³ λΆλ₯Έλ€. λ§€κ° λ³μλ μ€μ λ‘ ν¨μ μμͺ½μμ λ³μμ κ°μ μν μ νκ² λλ€. ν¨μκ° νΈμΆλ λ κ°(μΈμ)μ μ λ¬λ°κ² λλ©΄ λ§€κ° λ³μμ κ°μ΄ μ μλλ€.
π μΈμ
μ΄λ€ ν¨μλ₯Ό νΈμΆνλ©΄μ, νΈμΆλ¬Έμ κ΄νΈ()
μμ μ΄λ€ κ° λλ κ°μ΄ μ μλ λ³μλ₯Ό μ°λ©΄, κ·Έκ±Έ μΈμ
λΌκ³ λΆλ₯Έλ€.
β ν¨μμμ 맀κ°λ³μλ₯Ό μ μ΄λ μνλΌλ©΄, νΈμΆμ μΈμλ‘ μ λ¬ν κ°
μ 맀κ°λ³μλ₯Ό ν΅ν΄ μ¬μ© κ°λ₯
// doubleNumber ν¨μ μ μΈμ
function doubleNumber(myNumber) { // νΈμΆμ μ λ¬λ°μ κ°μ myNumber λΌλ λ³μλͺ
μΌλ‘ ν¨μ μμͺ½μμ μ¬μ©νκ² λ€.
let myResult = myNumber * 2
return myResult
}
// doubleNumber ν¨μ νΈμΆλ¬Έ
doubleNumber(3); // doubleNumberλ₯Ό νΈμΆνλ©΄μ κ°(μΈμ) 3μ μ λ¬ν΄μ£Όκ² λ€.
// λ³μλ₯Ό ν΅ν doubleNumber ν¨μ νΈμΆλ¬Έ
let someNumber = 42
doubleNumber(someNumber); // doubleNumberλ₯Ό νΈμΆνλ©΄μ κ° 42λ₯Ό μ λ¬
/* ν¨μ `halfNumber` λ₯Ό μ μΈνκ³ κ΅¬ννμΈμ. μ«μλ‘ λ μΈμ νλλ₯Ό λ°μ΅λλ€. λ°μ κ°μ 2λ‘ λλ κ²°κ³Όλ₯Ό 리ν΄ν©λλ€. 맀κ°λ³μ μ΄λ¦μ λ§μλλ‘ μ ν΄μ μ¬μ©ν©λλ€. */ function halfNumber(number) { return number/2; } /* ν¨μ `halfAndAddNumber`λ₯Ό μ μΈνκ³ κ΅¬ννμΈμ.μ«μλ‘ λ μΈμ νλλ₯Ό λ°μ΅λλ€. 1λ² λ¬Έμ μμ λ§λ€μλ `halfNumber`λ₯Ό νΈμΆνλ©΄μ, μΈμλ‘ λ°μλ κ°μ λ€μ `halfNumber` ν¨μμ μ λ¬ν΄μ€λλ€. `halfNumber`μ 리ν΄κ²°κ³Όλ₯Ό ν¨μ μμͺ½μμ λ³μλͺ `result`μ μ μν©λλ€. 'result'μ 1μ λν κ°μ 리ν΄ν©λλ€. */ function halfAndAddNumber(number) { let result = halfNumber(number)+1; return result; } // ν¨μ νΈμΆ halfAndAddNumber(10); // 6
π 볡μμ 맀κ°λ³μμ 볡μμ μΈμλ₯Ό μ λ¬ν μ μλ€.
// 2κ°μ 맀κ°λ³μ function eventResult(month, name) { console.log(month + "μμ λΉμ²¨μλ " + name + "μ λλ€."); } // ν¨μ νΈμΆ(2κ° μΈμ μ λ¬) eventResult(3, "leedev"); // 3μμ λΉμ²¨μλ leedevμ λλ€.
/* `meetAt` ν¨μλ₯Ό λ§λ€μ΄μ£ΌμΈμ. μΈμλ₯Ό μΈκ° λ°μ΅λλ€. 1. 첫λ²μ§Έ μΈμλ λ λμ ν΄λΉνλ μ«μμ λλ€. 2. λλ²μ§Έ μΈμλ μμ ν΄λΉνλ μ«μμ λλ€. 3. μΈλ²μ§Έ μΈμλ μΌμ ν΄λΉνλ μ«μμ λλ€. λ λ μΈμλ§ λ°μμ κ²½μ° β `"1234λ "` κ³Ό κ°μ νμμ λ¬Έμμ΄μ λ¦¬ν΄ ν΄μ£ΌμΈμ. λ λ,μ μΈμλ₯Ό λ°μμ κ²½μ° β λ λμ μμ μ‘°ν©ν΄μ `"1234λ 5μ"` κ³Ό κ°μ νμμ λ¬Έμμ΄μ λ¦¬ν΄ ν΄μ£ΌμΈμ. λ λ,μ,μΌ μΈμλ₯Ό μ λΆ λ°μμ κ²½μ° β λ λ,μ,μΌμ μ‘°ν©ν΄μ `"1234/5/6"` κ³Ό κ°μ νμμ λ¬Έμμ΄μ λ¦¬ν΄ ν΄μ£ΌμΈμ. */ function meetAt(year, month, date) { if(year, month, date) { return year + "/" + month + "/" + date + "/"; } if(year, month) { return year + "λ " + month + "μ"; } if(date) { return year + "λ "; } } meetAt(2021, 1 , 1); // 2021/1/1 meetAt(2021, 1); // 2021λ 1μ meetAt(2021); // 2021λ // 맀κ°λ³μμ μ리λ 3κ°μ΄λ€. μΈμλ₯Ό 1κ° λ£μ΄μ£Όλ©΄ 첫λ²μ§Έ ifλ¬Έμλ ν΄λΉμ΄ μλμ pass // λλ²μ§Έ ifλ¬Έμλ ν΄λΉμ΄ μλμ pass // μΈλ²μ§Έ ifλ¬Έμ μΈμ1κ° κ°μ΄ λ€μ΄κ°μ returnνκ³ μ’ λ£. // λ§μ½ ifλ¬Έμ μμλ₯Ό λ°κΏμ€λ€λ©΄? function meetAt(year, month, date) { if(year) { return year + "λ "; } if(year, month) { return year + "λ " + month + "μ"; } if(year, month, date) { return year + "/" + month + "/" + date + "/"; } } meetAt(2021, 1 , 1); // 2021λ // μ΅μ μΈμ 1κ°λ₯Ό 첫λ²μ§Έ ifλ¬Έμμ μΆ©μ‘±νκΈ° λλ¬Έμ λ°λ‘ returnλκ³ μ’ λ£λλ€. // λ°λΌμ μΈμ 3κ°κ° λ€μ΄κ° μ μλ 쑰건λΆν° μ¨μ€λ€. // (=μΈμκ° 1κ°λ©΄ μΆ©μ‘±λμ§ μκΈ° λλ¬Έμ λ€μ ifλ¬ΈμΌλ‘ λμ΄κ° μ μλ€)
π return
μ ν¨μλ₯Ό νΈμΆνμ λ, ν¨μκ° κ°μ λ°ννλ€λ λ»
π return
μ μλ΅νλ©΄ ν¨μλ undefined
λ₯Ό λ°ν
function eventDate(month, name) { console.log(month, name); // eventDate ν¨μ μμ returnμ΄ μλ€. } let result = eventDate("3", "μ΄κ°λ°"); // ν¨μλ₯Ό νΈμΆν κ²°κ³Όλ₯Ό resultμ λ΄μμ console.log("eventDate νΈμΆ κ°μ" + result); // 'eventDate νΈμΆ κ°μ undefined' λΌκ³ νΈμΆλλ€.
π ν¨μ λ΄λΆμμ λ€λ₯Έ ν¨μ νΈμΆνκΈ°
function getTax(price) { return price * 0.1; } function calculateTotal(price) { return price + getTax(price); // getTax(price) ν¨μ νΈμΆ } let result = calculateTotal(3500); // ν¨μκ° μ€νλλ μμ , ν¨μ νΈμΆν¨ console.log(result);
/* `getTotal` ν¨μλ₯Ό λ§λ€μ΄μ£ΌμΈμ! `getTotal` ν¨μλ κ°κ²©μ 2κ° λ°μμ calculateTotal νΈμΆ λ°νκ°μ λν΄μ 리ν΄νλ ν¨μμ λλ€. 1. `getTotal` μ΄λΌλ μ΄λ¦μ ν¨μλ₯Ό λ§λ€μ΄μ£ΌμΈμ. κ°κ²©μ 보 2κ°λ₯Ό μΈμλ‘ λ°μ΅λλ€. 2. μΈμμ΄λ¦μ μνλλλ‘ μ§μ΄μ£Όμ λ λ©λλ€. 3. `getTotal` ν¨μμμ μΈμλ‘ λ°μ κ°κ²©μΌλ‘ κ°κ° `calculateTotal` ν¨μλ₯Ό νΈμΆν΄μ£ΌμΈμ. κ·Έλ¦¬κ³ κ·Έ κ²°κ³Όκ°μ λν΄μ λ°νν΄μ£ΌμΈμ. μ°Έκ³ ) `getTax` ν¨μλ κ°κ²©μ taxλ₯Ό ꡬνλ ν¨μμ λλ€. `calculateTotal` ν¨μλ μνμ κ°κ²©μ taxλ₯Ό λν κ°μ ꡬνλ ν¨μμ λλ€. `getTotal` ν¨μλ λ μνμ κ°κ²©μ λν΄μ λ°ννλ ν¨μμ λλ€. */ function getTax(price) { return price * 0.1; } function calculateTotal(price) { return price + getTax(price); } function getTotal(price1, price2) { return calculateTotal(price1) + calculateTotal(price2); } getTotal(500, 900); // 1540 // getTax(price) ν¨μμμ λ§λ λ€, calculateTotal(price)ν¨μμ νΈμΆνλ€. // getTotal(price1, price2) ν¨μμλ 맀κ°λ³μλ₯Ό 2κ°λ₯Ό λ£λλ€. κ° λ§€κ°λ³μλ calculateTotal(price)ν¨μμ μΈμκ° μ λ¬λμ΄μ νΈμΆλ μ μλ€.