01. μ μΈμ ν¨μ
μ μΈμ ν¨μλ 맀κ°λ³μ, returnκ°μ΄ μλ ν¨μ μ
λλ€.
{
function func() {
document.write("μ€νλμμ΅λλ€.1");
}
func();
}
κ²°κ³Ό νμΈνκΈ°
μ€νλμμ΅λλ€.1
μ μΈμ ν¨μ
ν¨μμ document.write()λ₯Ό μμ±νκ³ ν¨μλ₯Ό νΈμΆν©λλ€.
2. μ΅λͺ
ν¨μ
μ΄λ¦μ΄ μλ ν¨μλ‘, ν¨μλ₯Ό μ μνλ©΄μ ν¨μ μ΄λ¦μ μ§μ νμ§ μλ κ²μ λ§ν©λλ€.
μΌλ°μ μΌλ‘ ν¨μλ₯Ό μ μν λ ν¨μ μ΄λ¦μ μ§μ νμ¬ ν¨μλ₯Ό νΈμΆνκ³ μ¬μ©ν©λλ€.
νμ§λ§ μ΅λͺ
ν¨μλ μ΄λ¦ μμ΄ ν¨μλ₯Ό μ μν μ μμ΅λλ€.
{
const func = function(){
document.write("μ€νλμμ΅λλ€.2");
}
func();
}
κ²°κ³Ό νμΈνκΈ°
μ€νλμμ΅λλ€.2
μ΅λͺ
ν¨μ
μ΅λͺ
ν¨μλ λ³μμ λ°μ΄ν°λ₯Ό μ μ₯νκ³ . λ³μ μ΄λ¦μΌλ‘ νΈμΆ ν©λλ€.
3. 맀κ°λ³μ ν¨μ
μ
λ ₯κ°μ λ°μ μΆλ ₯κ°μ κ³μ°νλ ν¨μ(function)μ΄μ§λ§,
μΆκ°μ μΌλ‘ 맀κ°λ³μ(parameter)λ₯Ό κ°μ§κ³ μμ΄μ μΆλ ₯κ°μ κ³μ°νλλ°
μν₯μ μ€ μ μλ ν¨μλ₯Ό λ§ν©λλ€.
{
function func(str){
document.write(str);
}
func("μ€νλμμ΅λλ€.3");
}
κ²°κ³Ό νμΈνκΈ°
μ€νλμμ΅λλ€.3
맀κ°λ³μ ν¨μ
맀κ°λ³μ ν¨μλ ν¨μμμ 맀κ°λ³μλ₯Ό λ°κ³ . λ°μ 맀κ°λ³μλ₯Ό νμ©ν©λλ€.
4. 리ν΄κ°(κ²°κ³Ό / λ) ν¨μ
μ
λ ₯κ°μ λ°μ μΆλ ₯κ°μ κ³μ°νλ ν¨μ(function)μ΄μ§λ§,
μΆκ°μ μΌλ‘ 맀κ°λ³μ(parameter)λ₯Ό κ°μ§κ³ μμ΄μ μΆλ ₯κ°μ κ³μ°νλλ°
μν₯μ μ€ μ μλ ν¨μλ₯Ό λ§ν©λλ€.
{
function func(){
const str = "ν¨μκ° μ€νλμμ΅λλ€.4";
return str;
}
document.write(func());
}
κ²°κ³Ό νμΈνκΈ°
ν¨μκ° μ€νλμμ΅λλ€.4
리ν΄κ° ν¨μ
ν¨μ μμμ μ μΈλ λ³μλ 맀κ°λ³μλ₯Ό λ°νν©λλ€.
05. νμ΄ν ν¨μ : μ μΈμ ν¨μ
μ μΈμ ννμ νμ΄ν ν¨μλ ν¨μ μ΄λ¦μ μ§μ νκ³ function ν€μλλ₯Ό μ¬μ©νμ§ μμ΅λλ€.
{
func = () => document.write("μ€νλμμ΅λλ€.5");
func();
}
κ²°κ³Ό νμΈνκΈ°
ν¨μκ° μ€νλμμ΅λλ€.5
νμ΄ν ν¨μ : μ μΈμ ν¨μ
ν¨μμμ μ€νλμμ΅λλ€.5λ₯Ό μΆλ ₯νλ κ²μ
λλ€.
06. νμ΄ν ν¨μ : μ΅λͺ
ν¨μ
ν¨μ μ΄λ¦μ μ§μ νμ§ μμ΅λλ€. λμ , ν¨μ ννμκ³Ό λΉμ·νκ² λ³μμ ν λΉνμ¬ μ¬μ©ν©λλ€.
{
const func = () => {
document.write("μ€νλμμ΅λλ€.6");
}
func();
}
κ²°κ³Ό νμΈνκΈ°
ν¨μκ° μ€νλμμ΅λλ€.6
νμ΄ν ν¨μ : μ΅λͺ
ν¨μ
μμμ ν¨μμ κ°μ μ μ₯νκ³ . μμμ μ΄λ¦μΌλ‘ ν¨μλ₯Ό νΈμΆν©λλ€.
07. νμ΄ν ν¨μ : 맀κ°λ³μ ν¨μ
νμ΄ν ν¨μμ 맀κ°λ³μλ ν¨μ μ μΈμμ κ΄νΈ μμ μ μΈλ©λλ€.
{
func = (str) => {
document.write(str);
}
func("μ€νλμμ΅λλ€.7");
}
κ²°κ³Ό νμΈνκΈ°
ν¨μκ° μ€νλμμ΅λλ€.7
νμ΄ν ν¨μ : 맀κ°λ³μ
ν¨μ μ€νλ¬Έμλ€κ° λ°μ΄ν°λ₯Ό μ λ¬ν©λλ€. κ·Έλ¦¬κ³ ν¨μλ λ°μ΄ν°λ₯Ό 맀κ°λ³μλ‘ λ°μ μ€νν©λλ€.
08. νμ΄ν ν¨μ : 리ν΄κ° ν¨μ
νμ΄ν ν¨μλ μΌλ° ν¨μμ λ§μ°¬κ°μ§λ‘ κ°μ λ°νν μ μμ΅λλ€.
{
func = () => {
const str = "μ€νλμμ΅λλ€.8";
return str;
}
document.write(func());
}
κ²°κ³Ό νμΈνκΈ°
μ€νλμμ΅λλ€.8
νμ΄ν ν¨μ : 리ν΄κ°
ν¨μ μμμ μ μΈλ κ°μ΄λ 맀κ°λ³μλ₯Ό λ°ν ν©λλ€.
09. νμ΄ν ν¨μ : μ΅λͺ
ν¨μ + 맀κ°λ³μ + 리ν΄κ°
νμ΄ν ν¨μ(Arrow Function)λ ES6(ECMAScript 2015)μμ μΆκ°λ
ν¨μ ννμμ
λλ€. ν¨μλ₯Ό κ°λ¨νκ² μ μν μ μκ³ , μ½λλ₯Ό λ κ°κ²°νκ³
κ°λ
μ± μ’κ² μμ±ν μ μμ΅λλ€.
{
// νμ΄ν ν¨μλ νμ
(let, const)μ μ μ΄ μ€μΌν©λλ€.
const a = () => {
document.write("μ€ν1" + "
");
}
a();
const b = () => {
document.write("μ€ν2" + "
");
}
b();
const c = (str1, str2, str3) => {
document.write(str1, str2, str3 + "
");
}
c("μ€ν3", "μ€ν4", "μ€ν5");
const d = (x, y, z) => {
return x+y+z;
}
document.write(d(1,2,3)) + "
";
}
κ²°κ³Ό νμΈνκΈ°
μ€ν1
μ€ν2
μ€ν3, μ€ν4, μ€ν5
1, 2, 3
νμ΄ν ν¨μ : μ΅λͺ
ν¨μ + 맀κ°λ³μ + 리ν΄κ°
μ μΈ : νμ΄ν ν¨μμ λ°μ΄ν°λ₯Ό μ μ₯νκ³ νΈμΆ ν©λλ€.
맀κ°λ³μ : νμ΄ν ν¨μμ κ°μ μ λ¬νκ³ κ·Έκ²λ€μ μΆλ €ν©λλ€.
리ν΄κ° : νμ΄ν ν¨μμμ κ°μ λ°ν ν©λλ€.
10. νμ΄ν ν¨μ : μ΅λͺ
ν¨μ + 맀κ°λ³μ + 리ν΄κ° + κ΄νΈ μλ΅
νμ΄ν ν¨μ(Arrow Function)λ ES6(ECMAScript 2015)μμ μΆκ°λ
ν¨μ ννμμ
λλ€. ν¨μλ₯Ό κ°λ¨νκ² μ μν μ μκ³ , μ½λλ₯Ό λ κ°κ²°νκ³
κ°λ
μ± μ’κ² μμ±ν μ μμ΅λλ€.
{
const func = str => {
return str;
}
document.write(func("μ€νλμμ΅λλ€."));
}
κ²°κ³Ό νμΈνκΈ°
μ€νλμμ΅λλ€
νμ΄ν ν¨μ : μ΅λͺ
ν¨μ + 맀κ°λ³μ + 리ν΄κ°
μΌλ° νμ΄ν ν¨μλ₯Ό μ μΈνκ³ . 맀κ°λ³μμ κ΄νΈλ₯Ό μμ κ³ μ μΈνκ³ μμ΅λλ€.
11. νμ΄ν ν¨μ : μ΅λͺ
ν¨μ + 맀κ°λ³μ + 리ν΄κ° + κ΄νΈ μλ΅ + λ¦¬ν΄ μλ΅
νμ΄ν ν¨μ(Arrow Function)λ ES6(ECMAScript 2015)μμ μΆκ°λ
ν¨μ ννμμ
λλ€. ν¨μλ₯Ό κ°λ¨νκ² μ μν μ μκ³ , μ½λλ₯Ό λ κ°κ²°νκ³
κ°λ
μ± μ’κ² μμ±ν μ μμ΅λλ€.
{
const func = str => str;
document.write(func("μ€νλμμ΅λλ€.8") + "
");
}
κ²°κ³Ό νμΈνκΈ°
μ€νλμμ΅λλ€.8
νμ΄ν ν¨μ : μ΅λͺ
ν¨μ + 맀κ°λ³μ + 리ν΄κ° + κ΄νΈ μλ΅ + λ¦¬ν΄ μλ΅
ν¨μμ 맀κ°λ³μλ₯Ό μ λ¬νκ³ λ°νκ°μΌλ‘ μΆλ ₯ν©λλ€.
(returnκ°μ μλ΅μ΄ κ°λ₯ν©λλ€.)
12. νμ΄ν ν¨μ : μ μΈμ ν¨μ + 맀κ°λ³μ + 리ν΄κ° + κ΄νΈ μλ΅ + λ¦¬ν΄ μλ΅
νμ΄ν ν¨μ(Arrow Function)λ ES6(ECMAScript 2015)μμ μΆκ°λ
ν¨μ ννμμ
λλ€. ν¨μλ₯Ό κ°λ¨νκ² μ μν μ μκ³ , μ½λλ₯Ό λ κ°κ²°νκ³
κ°λ
μ± μ’κ² μμ±ν μ μμ΅λλ€.
{
// μ΄ λ°©λ²μ λ¨μ : thisλ₯Ό μ¬μ© λͺ»ν©λλ€.
func = str => str;
document.write(func("μ€νλμμ΅λλ€.9") + "
");
}
κ²°κ³Ό νμΈνκΈ°
μ€νλμμ΅λλ€.9
νμ΄ν ν¨μ : μ΅λͺ
ν¨μ + 맀κ°λ³μ + 리ν΄κ° + κ΄νΈ μλ΅ + λ¦¬ν΄ μλ΅
ν¨μμ 맀κ°λ³μλ₯Ό μ λ¬νκ³ λ°νκ°μΌλ‘ μΆλ ₯ν©λλ€.
(returnκ°μ μλ΅μ΄ κ°λ₯ν©λλ€.)
(μ΄λ κ²νλ©΄ thisκ°μΌλ‘ νλ‘ν νμ
μ μμ±ν μκ° μμ΅λλ€.)
13. ν¨μ μ ν : ν¨μμ 맀κ°λ³μλ₯Ό μ΄μ©ν νν
ν¨μ(function)λ νλ‘κ·Έλλ°μμ μμ
μ μννκΈ° μν μ½λμ λΈλ‘μ
λλ€.
ν¨μλ μ
λ ₯μ λ°μ μ²λ¦¬νκ³ , κ²°κ³Όλ₯Ό λ°νν©λλ€. μ΄ λ ν¨μκ° λ°λ
μ
λ ₯μ 맀κ°λ³μ(parameter)λΌκ³ ν©λλ€.
{
function func(num, str1, str2){
document.write(num + "." + str1 + "κ°" + str2 + "λμμ΅λλ€.
");
}
func("1", "ν¨μ", "μ€ν");
func("2", "μλ°μ€ν¬λ¦½νΈ", "μ€ν");
func("3", "리μ‘νΈ", "μ€ν");
}
κ²°κ³Ό νμΈνκΈ°
1.ν¨μκ° μ€νλμμ΅λλ€.
2.μλ°μ€ν¬λ¦½νΈκ° μ€νλμμ΅λλ€.
3.리μ‘νΈκ° μ€νλμμ΅λλ€.
ν¨μ μ ν : ν¨μμ 맀κ°λ³μλ₯Ό μ΄μ©ν νν
ν¨μ μ€νλ¬Έμμ 맀κ°λ³μλ₯Ό μ λ¬νκ³ . ν¨μμ μ μ΄λ¬Έμμλ 맀κ°λ³μλ₯Ό λ°μμ μΆλ ₯μ ν΄μ€λλ€.
14. ν¨μ μ ν : ν¨μμ λ³μλ₯Ό μ΄μ©ν νν
ν¨μλ μΌλ ¨μ μμ
μ μννλ μ½λ λΈλ‘μ
λλ€.
ν¨μλ μ
λ ₯μ λ°μλ€μ΄κ³ μΆλ ₯μ λ°νν μ μμ΅λλ€.
ν¨μλ μ€λ³΅ μ½λλ₯Ό νΌνκ³ μ½λμ κ°λ
μ±κ³Ό μ μ§ λ³΄μμ±μ
ν₯μμν€λ λ° λμμ΄ λ©λλ€. ν¨μλ νλ‘κ·Έλ¨μ κΈ°λ₯μ λͺ¨λννκ³
μ¬μ¬μ© κ°λ₯ν μ½λ μ‘°κ°μΌλ‘ λΆν νλ λ° μ¬μ©λ©λλ€.
{
function func(num, str1, str2){
document.write(num + "." + str1 + "κ°" + str2 + "λμμ΅λλ€.
");
}
const youNum1 = 1;
const youNum2 = 2;
const youNum3 = 3;
const youStr1 = "ν¨μ";
const youStr2 = "μλ°μ€ν¬λ¦½νΈ";
const youStr3 = "리μ‘νΈ";
const youCom1 = "μ€ν";
func(youNum1, youStr1, youCom1);
func(youNum2, youStr2, youCom1);
func(youNum3, youStr3, youCom1);
}
κ²°κ³Ό νμΈνκΈ°
1.ν¨μκ° μ€νλμμ΅λλ€.
2.μλ°μ€ν¬λ¦½νΈκ° μ€νλμμ΅λλ€.
3.리μ‘νΈκ° μ€νλμμ΅λλ€.
ν¨μ μ ν : ν¨μμ λ³μλ₯Ό μ΄μ©ν νν
λ³μμ λ°μ΄ν°λ₯Ό μ μ₯νκ³ . ν¨μμ 맀κ°λ³μλ‘ λ°μ΄ν°λ₯Ό μ λ¬ν©λλ€.
15. ν¨μ μ ν : ν¨μμ λ°°μ΄μ μ΄μ©ν νν
ν¨μλ μΌλ ¨μ μμ
μ μννλ μ½λ λΈλ‘μ
λλ€.
ν¨μλ μ
λ ₯μ λ°μλ€μ΄κ³ μΆλ ₯μ λ°νν μ μμ΅λλ€.
ν¨μλ μ€λ³΅ μ½λλ₯Ό νΌνκ³ μ½λμ κ°λ
μ±κ³Ό μ μ§ λ³΄μμ±μ
ν₯μμν€λ λ° λμμ΄ λ©λλ€. ν¨μλ νλ‘κ·Έλ¨μ κΈ°λ₯μ λͺ¨λννκ³
μ¬μ¬μ© κ°λ₯ν μ½λ μ‘°κ°μΌλ‘ λΆν νλ λ° μ¬μ©λ©λλ€.
{
function func(num, str1, str2){
document.write(num + "." + str1 + "κ°" + str2 + "λμμ΅λλ€.
");
}
const num = [1,2,3];
const info = ["ν¨μ","μλ°μ€ν¬λ¦½νΈ","리μ‘νΈ","μ€ν"];
func(num[0], info[0], info[3]);
func(num[1], info[1], info[3]);
func(num[2], info[2], info[3]);
}
κ²°κ³Ό νμΈνκΈ°
1.ν¨μκ° μ€νλμμ΅λλ€.
2.μλ°μ€ν¬λ¦½νΈκ° μ€νλμμ΅λλ€.
3.리μ‘νΈκ° μ€νλμμ΅λλ€.
ν¨μ μ ν : ν¨μμ λ°°μ΄μ μ΄μ©ν νν
λ°°μ΄μ λ°μ΄ν°λ₯Ό μ μ₯νκ³ . λ°μ΄ν°μ μΈλ±μ€ λ²νΈλ‘ λ°μ΄ν°λ₯Ό νΈμΆνκ³ ν¨μμ 맀κ°λ³μλ‘ μ λ¬ν©λλ€.]
16. ν¨μ μ ν : ν¨μμ λ°°μ΄, κ°μ²΄λ₯Ό μ΄μ©ν νν
ν¨μλ μΌλ ¨μ μμ
μ μννλ μ½λ λΈλ‘μ
λλ€.
ν¨μλ μ
λ ₯μ λ°μλ€μ΄κ³ μΆλ ₯μ λ°νν μ μμ΅λλ€.
ν¨μλ μ€λ³΅ μ½λλ₯Ό νΌνκ³ μ½λμ κ°λ
μ±κ³Ό μ μ§ λ³΄μμ±μ
ν₯μμν€λ λ° λμμ΄ λ©λλ€. ν¨μλ νλ‘κ·Έλ¨μ κΈ°λ₯μ λͺ¨λννκ³
μ¬μ¬μ© κ°λ₯ν μ½λ μ‘°κ°μΌλ‘ λΆν νλ λ° μ¬μ©λ©λλ€.
{
function func(num, str1, str2){
document.write(num + "." + str1 + "κ°" + str2 + "λμμ΅λλ€.
");
}
const info = [
{
num1: 1,
name: "ν¨μ",
word: "μ€ν"
},
{
num2: 2,
name: "μλ°μ€ν¬λ¦½νΈ",
word: "μ€ν"
},
{
num3: 3,
name: "리μ‘νΈ",
word: "μ€ν"
}
];
func(info[0].num1, info[0].name, info[0].word);
func(info[1].num2, info[1].name, info[1].word);
func(info[2].num3, info[2].name, info[2].word);
}
κ²°κ³Ό νμΈνκΈ°
1.ν¨μκ° μ€νλμμ΅λλ€.
2.μλ°μ€ν¬λ¦½νΈκ° μ€νλμμ΅λλ€.
3.리μ‘νΈκ° μ€νλμμ΅λλ€.
ν¨μ μ ν : ν¨μμ λ°°μ΄, κ°μ²΄λ₯Ό μ΄μ©ν νν
λ°°μ΄ μμ κ°κ° κ°μ²΄λ₯Ό μμ±νκ³ ν€μ λ°μ΄ν°λ₯Ό μ μ₯ν©λλ€.
κ·Έλ¦¬κ³ λ°°μ΄ μμ μ μ₯λ κ°μ²΄μ μ κ·Όνμ¬ ν¨μμ 맀κ°λ³μλ‘ μ λ¬νκ³ μ€νν©λλ€.
17. ν¨μ μ ν : κ°μ²΄μμ± ν¨μλ₯Ό μ΄μ©ν νν
κ°μ²΄ μμ ν¨μλ₯Ό μ μνλ €λ©΄ κ°μ²΄μ μμ±μΌλ‘ ν¨μλ₯Ό ν λΉνλ©΄ λ©λλ€.
μ΄λ¬ν λ°©μμΌλ‘ ν¨μλ₯Ό μ μνλ©΄, κ°μ²΄λ₯Ό μΈμ€ν΄μ€νν λλ§λ€
ν΄λΉ ν¨μλ₯Ό μ¬μ©ν μ μμ΅λλ€.
{
function func(num, name, word){
// λ³μλ₯Ό μΌμΌμ΄ μμ±νλ©΄ λΆνΈνλκ° thisλ‘ μμ±ν¨
this.num = num;
this.name = name;
this.word = word;
this.result = function(){
document.write(this.num + "." + this.name + "κ°" + this.word + "λμμ΅λλ€.
");
}
}
// μΈμ€ν΄μ€ μμ±
let infor1 = new func(1, "ν¨μ", "μ€ν");
let infor2 = new func(2, "μλ°μ€ν¬λ¦½νΈ", "μ€ν");
let infor3 = new func(3, "리μ‘νΈ", "μ€ν");
infor1.result();
infor2.result();
infor3.result();
}
κ²°κ³Ό νμΈνκΈ°
1.ν¨μκ° μ€νλμμ΅λλ€.
2.μλ°μ€ν¬λ¦½νΈκ° μ€νλμμ΅λλ€.
3.리μ‘νΈκ° μ€νλμμ΅λλ€.
ν¨μ μ ν : κ°μ²΄μμ± ν¨μλ₯Ό μ΄μ©ν νν
κ°μ²΄λ₯Ό μμ±νμ¬ λ§€κ°λ³μλ‘ λ°μ΄ν°λ₯Ό μ λ¬νκ³ . λ³μμ μ μ₯ ν©λλ€.
κ·Έλ¦¬κ³ λ³μμ μ μ₯λ κ° μ€ function() ν¨μλ₯Ό μ€νν©λλ€.
18. ν¨μ μ ν : νλ‘ν νμ
ν¨μ
JavaScriptμμ λͺ¨λ κ°μ²΄λ μμ μ νλ‘ν νμ
(Prototype)μ΄λΌκ³
λΆλ¦¬λ λ€λ₯Έ κ°μ²΄λ₯Ό μ°Έμ‘°ν©λλ€. νλ‘ν νμ
μ μμμ ꡬννλ λ° μ¬μ©λλ©°,
νλ‘ν νμ
체μΈ(Prototype chain)μ ν΅ν΄ κ°μ²΄ κ°μ κ΄κ³λ₯Ό νμ±ν©λλ€.
{
function Func(num, name, word){
this.num = num;
this.name = name;
this.word = word;
};
Func.prototype.result = function(){
document.write("νλ‘ν νμ
ν¨μ");
document.write(this.num + "." + this.name + "κ°" + this.word + "λμμ΅λλ€.
");
}
// μΈμ€ν΄μ€ μμ±
let infor1 = new Func(1, "ν¨μ", "μ€ν");
let infor2 = new Func(2, "μλ°μ€ν¬λ¦½νΈ", "μ€ν");
let infor3 = new Func(3, "리μ‘νΈ", "μ€ν");
infor1.result();
infor2.result();
infor3.result();
}
κ²°κ³Ό νμΈνκΈ°
1.ν¨μκ° μ€νλμμ΅λλ€.
2.μλ°μ€ν¬λ¦½νΈκ° μ€νλμμ΅λλ€.
3.리μ‘νΈκ° μ€νλμμ΅λλ€.
ν¨μ μ ν : νλ‘ν νμ
ν¨μ
κ°μ²΄ μμμ λ³μλ₯Ό μμ±ν΄μ 맀κ°λ³μλ₯Ό μ μ₯ν λ μκ°μ΄ λ€κ³ νμ΄ λλλ€.
κ·Έλ΄λ "this.μ΄λ¦ = 맀κ°λ³μ"λ‘ μμ±μ ν΄μ£Όλ©΄ μμνκ² λ°μ΄ν°λ₯Ό μ μ₯νκ³ μ λ¬ ν μ μμ΅λλ€.
(볡μ΅) ν¨μ μ ν(μ€νλ¬Έ, κ°νΈν, κ·Έλ£Ήν) : ν¨μμ 맀κ°λ³μλ₯Ό μ΄μ©ν νν
ν¨μλ μ
λ ₯κ°μ λ°μ μΆλ ₯κ°μ λ°ννλ κΈ°λ₯μ μννλ μ½λ λΈλ‘μ
λλ€. μΌλ°μ μΌλ‘ ν¨μλ λ€μκ³Ό κ°μ ννλ₯Ό κ°μ§λλ€.
{
function func(num, str1, str2){
document.write(`${num}. ${str1}κ° ${str2}λμμ΅λλ€.
`);
}
func("1", "ν¨μ", "μ€ν");
func("2", "μλ°μ€ν¬λ¦½νΈ", "μ€ν");
func("3", "리μ‘νΈ", "μ€ν")
}
κ²°κ³Ό νμΈνκΈ°
1.ν¨μκ° μ€νλμμ΅λλ€.
2.μλ°μ€ν¬λ¦½νΈκ° μ€νλμμ΅λλ€.
3.리μ‘νΈκ° μ€νλμμ΅λλ€.
(볡μ΅1) ν¨μ μ ν(μ€νλ¬Έ, κ°νΈν, κ·Έλ£Ήν) : ν¨μμ 맀κ°λ³μλ₯Ό μ΄μ©ν νν
ν¨μλ₯Ό μμ±νκ³ λ§€κ°λ³μλ₯Ό 3κ° λ°μ΅λλ€.
κ·Έλ¦¬κ³ ν¨μμ μ€νλ¬Έμ μμ±νκ³ λ°μ΄ν°λ₯Ό μ λ¬νκ³ μΆλ ₯ν©λλ€.
(볡μ΅2) ν¨μ μ ν : ν¨μμ λ³μλ₯Ό μ΄μ©ν νν
ν¨μμ λ³μλ₯Ό μ΄μ©νμ¬ λ€μν μμ
μ μνν μ μμ΅λλ€. ν¨μ μμμ λ³μλ₯Ό μ μΈνκ³ μ΄λ₯Ό νμ©νμ¬ ν¨μκ° μννλ μμ
μ ꡬνν μ μμ΅λλ€.
{
const youNum1 = 1;
const youNum2 = 2;
const youNum3 = 3;
const youStr1 = "ν¨μ";
const youStr2 = "μλ°μ€ν¬λ¦½νΈ";
const youStr3 = "리μ‘νΈ";
const youCom1 = "μ€ν";
function func(num, str1, str2){
document.write(`${num}. ${str1}κ° ${str2}λμμ΅λλ€.
`);
}
func(youNum1, youStr1, youCom1);
func(youNum2, youStr2, youCom1);
func(youNum3, youStr3, youCom1);
}
κ²°κ³Ό νμΈνκΈ°
1.ν¨μκ° μ€νλμμ΅λλ€.
2.μλ°μ€ν¬λ¦½νΈκ° μ€νλμμ΅λλ€.
3.리μ‘νΈκ° μ€νλμμ΅λλ€.
(볡μ΅2) ν¨μ μ ν : ν¨μμ λ³μλ₯Ό μ΄μ©ν νν
μμλ₯Ό μ μΈνκ³ λ°μ΄ν°λ₯Ό μ μ₯ν©λλ€. κ·Έλ¦¬κ³ ν¨μλ‘ λ§€κ°λ³μλ₯Ό 3κ°λ₯Ό λ°μ΅λλ€.
ν¨μμ μ€νλ¬ΈμΌλ‘ μμκ°μ 맀κ°λ³μλ‘ μ λ¬νκ³ μΆλ ₯ν©λλ€.
(볡μ΅3) ν¨μ μ ν : ν¨μμ λ°°μ΄, κ°μ²΄λ₯Ό μ΄μ©ν νν
ν¨μμ λ°°μ΄, κ°μ²΄λ₯Ό ν¨κ» μ¬μ©νμ¬ λ€μν μμ
μ μνν μ μμ΅λλ€. λ°°μ΄μ΄λ κ°μ²΄λ₯Ό ν¨μμ 맀κ°λ³μλ‘ μ λ¬νκ³ , ν¨μ λ΄λΆμμ μ΄λ₯Ό νμ©νμ¬ μμ
μ μνν μ μμ΅λλ€.
{
const info = [
{
num: "1",
name: "ν¨μ",
com: "μ€ν"
},{
num: "2",
name: "μλ°μ€ν¬λ¦½νΈ",
com: "μ€ν"
},{
num: "3",
name: "리μ‘νΈ",
com: "μ€ν"
},
];
function func(num, str1, str2){
document.write(`${num}. ${str1}κ° ${str2}λμμ΅λλ€.
`);
}
func(info[0].num, info[0].name, info[0].com);
func(info[1].num, info[1].name, info[1].com);
func(info[2].num, info[2].name, info[2].com);
}
κ²°κ³Ό νμΈνκΈ°
1.ν¨μκ° μ€νλμμ΅λλ€.
2.μλ°μ€ν¬λ¦½νΈκ° μ€νλμμ΅λλ€.
3.리μ‘νΈκ° μ€νλμμ΅λλ€.
(볡μ΅3) ν¨μ μ ν : ν¨μμ λ°°μ΄, κ°μ²΄λ₯Ό μ΄μ©ν νν
λ°°μ΄μ μμ±ν©λλ€. κ·Έλ¦¬κ³ λ°°μ΄ μμ κ°μ²΄λ₯Ό 3κ° λ§λλλ€.
ν¨μλ₯Ό μμ±νκ³ λ§€κ°λ³μλ₯Ό 3κ° λ°μ΅λλ€.
ν¨μμ μ€νλ¬ΈμΌλ‘ λ°°μ΄ μμ μ μ₯λ κ°λ€μ 맀κ°λ³μλ‘ μ λ¬ν©λλ€.
(볡μ΅4) ν¨μ μ ν : κ°μ²΄ μμ ν¨μλ₯Ό λ£μ νν(λ³μκ°μ΄ λ무 λ§μμ§)
κ°μ²΄ μμ ν¨μλ₯Ό λ£λ κ²μ κ°μ²΄ λ΄μ λ©μλ(method)λ₯Ό μ μνλ κ²μ΄λΌκ³ ν©λλ€. κ°μ²΄ λ΄μ λ©μλλ ν΄λΉ κ°μ²΄μ μμ±μ μ κ·Όνμ¬ μμ
μ μνν μ μμ΅λλ€.
{
const info = {
num1: "1",
name1: "ν¨μ",
com1: "μ€ν",
num2: "2",
name2: "ν¨μ",
com2: "μ€ν",
num3: "3",
name3: "ν¨μ",
com3: "μ€ν",
result1: () => {
document.write(`${info.num1}. ${info.name1}κ° ${info.com1}λμμ΅λλ€.
`)
},
result2: () => {
document.write(`${info.num2}. ${info.name2}κ° ${info.com2}λμμ΅λλ€.
`)
},
result3: () => {
document.write(`${info.num3}. ${info.name3}κ° ${info.com3}λμμ΅λλ€.
`)
}
}
info.result1();
info.result2();
info.result3();
}
κ²°κ³Ό νμΈνκΈ°
1.ν¨μκ° μ€νλμμ΅λλ€.
2.μλ°μ€ν¬λ¦½νΈκ° μ€νλμμ΅λλ€.
3.리μ‘νΈκ° μ€νλμμ΅λλ€.
(볡μ΅4) ν¨μ μ ν : κ°μ²΄ μμ ν¨μλ₯Ό λ£μ νν(λ³μκ°μ΄ λ무 λ§μμ§)
μμ μμλ€κ° κ°μ²΄λ₯Ό μμ±νκ³ μμ λ³μμ ν¨μλ₯Ό μ μ₯ν©λλ€.
κ·Έλ¦¬κ³ μμμμ μ μ₯λ κ°μ²΄λ₯Ό λΆλ¬μμ μΆλ ₯ν©λλ€.
19. ν¨μ μ ν : κ°μ²΄ μμ±μ ν¨μ
κ°μ²΄ μμ±μ ν¨μλ κ°μ²΄λ₯Ό μμ±νκ³ μ΄κΈ°ννλ ν¨μλ₯Ό μλ―Έν©λλ€. κ°μ²΄ μμ±μ ν¨μλ ν΄λμ€λ₯Ό μ μνμ§ μκ³ λ κ°μ²΄λ₯Ό μμ±ν μ μμ΅λλ€.
{
function func(num, name, com){
this.num = num;
this.name = name;
this.com = com;
this.result = function(){
document.write(`${this.num}. ${this.name}κ° ${this.com}λμμ΅λλ€.
`);
}
}
// μΈμ€ν΄μ€
const info1 = new func("100", "ν¨μ", "μ€ν");
const info2 = new func("200", "μλ°μ€ν¬λ¦½νΈ", "μ€ν");
const info3 = new func("300", "리μ‘νΈ", "μ€ν");
// μ€νλ¬Έ
info1.result();
info2.result();
info3.result();
}
κ²°κ³Ό νμΈνκΈ°
100.ν¨μκ° μ€νλμμ΅λλ€.
200.μλ°μ€ν¬λ¦½νΈκ° μ€νλμμ΅λλ€.
300.리μ‘νΈκ° μ€νλμμ΅λλ€.
19. ν¨μ μ ν : κ°μ²΄ μμ±μ ν¨μ
ν¨μλ₯Ό μμ±νκ³ λ§€κ°λ³μλ₯Ό 3κ° λ°μ΅λλ€. ν¨μ μμλ λ³μ 3κ°μ ν¨μλ₯Ό μ μΈνμ΅λλ€.
κ·Έλ¦¬κ³ κ°μ²΄ μμ±μ ν΅ν΄ ν¨μμ 맀κ°λ³μλ₯Ό μ λ¬νκ³ . ν¨μλ₯Ό μ€νν΄μ μΆλ ₯ν©λλ€.
20. ν¨μ μ ν : νλ‘ν νμ
ν¨μ
νλ‘ν νμ
ν¨μ(prototype function)λ JavaScriptμμ κ°μ²΄ μμ±μ ν¨μλ‘λΆν° μμ±λ κ°μ²΄μ λ©μλλ₯Ό μ μνλ ν¨μμ
λλ€. νλ‘ν νμ
ν¨μλ μμ±λ κ°μ²΄λ€ μ¬μ΄μμ 곡μ λλ ν¨μλ‘μ λ©λͺ¨λ¦¬ μ¬μ©μ ν¨μ¨μ μΌλ‘ νκΈ° μν΄ μ¬μ©λ©λλ€.
{
function func(num, name, com){
this.num = num;
this.name = name;
this.com = com;
};
// prototypeμ ν¨μ λ°μμ μ¬μ© ν΄μΌν¨
func.prototype.result = function(){
document.write(`${this.num}. ${this.name}κ° ${this.com}λμμ΅λλ€.
`);
}
// μΈμ€ν΄μ€
const info1 = new func("100", "ν¨μ", "μ€ν");
const info2 = new func("200", "μλ°μ€ν¬λ¦½νΈ", "μ€ν");
const info3 = new func("300", "리μ‘νΈ", "μ€ν");
// μ€νλ¬Έ
info1.result();
info2.result();
info3.result();
}
κ²°κ³Ό νμΈνκΈ°
100.ν¨μκ° μ€νλμμ΅λλ€.
200.μλ°μ€ν¬λ¦½νΈκ° μ€νλμμ΅λλ€.
300.리μ‘νΈκ° μ€νλμμ΅λλ€.
20. ν¨μ μ ν : νλ‘ν νμ
ν¨μ
21. ν¨μ μ ν : κ°μ²΄λ¦¬ν°λ΄ ν¨μ
κ°μ²΄ 리ν°λ΄ ν¨μ(object literal function)λ JavaScriptμμ κ°μ²΄λ₯Ό μμ±νλ ν¨μλ₯Ό μλ―Έν©λλ€. κ°μ²΄ 리ν°λ΄ ν¨μλ κ°μ²΄λ₯Ό μμ±νκ³ μ΄κΈ°νν λ μ¬μ©λλ©°, κ°λ¨νκ³ μ§κ΄μ μΈ λ°©λ²μΌλ‘ κ°μ²΄λ₯Ό μμ±ν μ μμ΅λλ€.
{
function func(num, name, com){
this.num = num;
this.name = name;
this.com = com;
}
func.prototype = {
result1: function(){
document.write(`${this.num}. ${this.name}κ° ${this.com}λμμ΅λλ€.
`);
},
result2: function(){
document.write(`${this.num}. ${this.name}κ° ${this.com}λμμ΅λλ€.
`);
},
result3: function(){
document.write(`${this.num}. ${this.name}κ° ${this.com}λμμ΅λλ€.
`);
}
};
// μΈμ€ν΄μ€
const info1 = new func("102", "ν¨μ", "μ€ν");
const info2 = new func("202", "μλ°μ€ν¬λ¦½νΈ", "μ€ν");
const info3 = new func("302", "리μ‘νΈ", "μ€ν");
// μ€νλ¬Έ
info1.result1();
info2.result2();
info3.result3();
}
κ²°κ³Ό νμΈνκΈ°
102.ν¨μκ° μ€νλμμ΅λλ€.
202.μλ°μ€ν¬λ¦½νΈκ° μ€νλμμ΅λλ€.
302.리μ‘νΈκ° μ€νλμμ΅λλ€.
21. ν¨μ μ ν : κ°μ²΄λ¦¬ν°λ΄ ν¨μ
ν¨μλ₯Ό μ μΈνκ³ λ§€κ°λ³μλ₯Ό 3κ° λ°μ΅λλ€. "19λ²" λ°©λ²λλ‘ νλ©΄ ν¨μλ₯Ό μ€νν λ μ λΆ λ€ μ€νλ©λλ€.
νμ§λ§ "21λ²" λ°©λ²λλ‘ νλ©΄ λ΄κ° μνλ ν¨μλ₯Ό μ€ν ν μ μκ² λ©λλ€.
22. ν¨μ μ’
λ₯ : μ¦μ μ€ν ν¨μ
μ¦μ μ€ν ν¨μ(IIFE, Immediately Invoked Function Expression)λ JavaScriptμμ ν¨μλ₯Ό μ μΈνμλ§μ μ¦μ μ€νλλλ‘ νλ ν¨μ ννμμ
λλ€. IIFEλ₯Ό μ¬μ©νλ©΄ μ μ μ€μ½νλ₯Ό μ€μΌμν€μ§ μκ³ ν¨μ λ΄λΆμμλ§ μ¬μ©ν μ μλ λ³μλ₯Ό μμ±ν μ μμΌλ©°, ν¨μ λ΄λΆμ μ½λλ₯Ό μΊ‘μνν μ μμ΅λλ€.
{
(function (){
document.write("500. ν¨μκ° μ€νλμμ΅λλ€.(μ¬μ΄νΈ λ‘λ©μμ μ λλ©μ΄μ
μ΄λ λ μ€νλκ³ μΆμλ λ§μ΄ μ¬μ© λ¨.)
");
})();
(() => {
document.write("501. ν¨μκ° μ€νλμμ΅λλ€.
")
})();
}
κ²°κ³Ό νμΈνκΈ°
500. ν¨μκ° μ€νλμμ΅λλ€.(μ¬μ΄νΈ λ‘λ©μμ μ λλ©μ΄μ
μ΄λ λ μ€νλκ³ μΆμλ λ§μ΄ μ¬μ© λ¨.)
501. ν¨μκ° μ€νλμμ΅λλ€.
22. ν¨μ μ’
λ₯ : μ¦μ μ€ν ν¨μ
μ¦μ μ€ν ν¨μλ νμ΄μ§κ° λΆλ¬μ§λ μ μΌ λ¨Όμ μ€νλλ ν¨μμ
λλ€.(μ°μ μμκ° 1λ²μ¨°)
23. ν¨μ μ’
λ₯ : νλΌλ―Έν° ν¨μ
νλΌλ―Έν° ν¨μ(parameter function)λ JavaScriptμμ ν¨μμ 맀κ°λ³μ(parameter)μ ν¨μλ₯Ό μ λ¬νλ λ°©λ²μ
λλ€. νλΌλ―Έν° ν¨μλ₯Ό μ΄μ©νλ©΄ ν¨μμ 맀κ°λ³μλ‘ ν¨μλ₯Ό μ λ¬νμ¬ μ½λμ μ¬μ¬μ©μ±μ λμΌ μ μμ΅λλ€.
{
function func(str = "600. ν¨μκ° μ€νλμμ΅λλ€.
"){
document.write(str);
}
func();
}
κ²°κ³Ό νμΈνκΈ°
600. ν¨μκ° μ€νλμμ΅λλ€.
23. ν¨μ μ’
λ₯ : νλΌλ―Έν° ν¨μ
ES10λΆν° μΆκ°λ λ°©λ²μΌλ‘ 맀κ°λ³μμ λ°μ΄ν°λ₯Ό ν λΉ ν μκ° μμ΅λλ€.
24. ν¨μ μ’
λ₯ : μνλ¨ΌνΈ ν¨μ
μνλ¨ΌνΈ ν¨μ(arguments function)λ JavaScriptμμ ν¨μ λ΄λΆμμ μ¬μ©ν μ μλ κ°μ²΄μ
λλ€. μ΄ κ°μ²΄λ ν¨μ νΈμΆ μ μ λ¬λ μΈμ(argument)μ λν μ 보λ₯Ό λ΄κ³ μμ΅λλ€. λ°λΌμ ν¨μ λ΄λΆμμ μΈμμ μ κ·Όνκ±°λ μΈμμ κ°μλ₯Ό νμ
ν λ μ μ©νκ² μ¬μ©λ©λλ€.
{
function func(str1, str2){
document.write(arguments[0]);
document.write(arguments[1]);
}
func("ν¨μ μ€ν1 ", "ν¨μ μ€ν2
");
}
κ²°κ³Ό νμΈνκΈ°
ν¨μ μ€ν1
ν¨μ μ€ν2
24. ν¨μ μ’
λ₯ : μνλ¨ΌνΈ ν¨μ
맀κ°λ³μλ‘ μ λ¬ λ κ°λ€μ agruments[0]λ²μ§λΌκ³ μ°λ©΄ "ν¨μ μ€ν2"κ° μ€νλ©λλ€.
25. ν¨μ μ’
λ₯ : μ¬κ· ν¨μ(μκΈ° μμ μ νΈμΆμν€λ ν¨μ)
μ¬κ· ν¨μ(recursive function)λ μκΈ° μμ μ νΈμΆνλ ν¨μμ
λλ€. μ¦, ν¨μ λ΄λΆμμ μμ μ λ€μ νΈμΆνμ¬ μμ
μ μννλ λ°©μμΌλ‘ λμν©λλ€. μ΄λ¬ν μ¬κ· νΈμΆμ λ°λ³΅νλ©΄μ μνλ κ²°κ³Όλ₯Ό μ»μ μ μλ κ²½μ°κ° μμ΅λλ€.
{
function func(num){
if(num <= 1){
document.write("600.ν¨μκ° μ€νλμμ΅λλΉ.
");
}
else{
document.write(num + " ");
func(num - 1);
}
// document.write(num);
// func(num); μ΄λ κ²νλ©΄ 무ν루νμ λΉ μ§
}
func(10);
function animation(){
document.write("μ λλ©μ΄μ
μ΄ μ€νλμμ΅λλ€.");
requestAnimationFrame(animation);
}
animation();
}
κ²°κ³Ό νμΈνκΈ°
10 9 8 7 6 5 4 3 2 600.ν¨μκ° μ€νλμμ΅λλΉ.
μ λλ©μ΄μ
μ΄ μ€νλμμ΅λλ€.(νμ΄μ§μ λμΉλλ‘ λμ΄)
25. ν¨μ μ’
λ₯ : μ¬κ· ν¨μ(μκΈ° μμ μ νΈμΆμν€λ ν¨μ)
μ¬κ· ν¨μλ₯Ό μ¬μ©νκ² λλ©΄ 무ν루νμ λΉ μ§κ² λ©λλ€. κ·Έλμ 쑰건문μ κ±Έμ΄μ€μ
λ°λ³΅μ μΌλ‘ μ€ν ν λ λ§μ΄ μ¬μ©ν©λλ€.(μ λλ©μ΄μ
ν¨κ³Ό)
26. ν¨μ μ’
λ₯ : μ½λ°± ν¨μ : ν¨μλ₯Ό λλ² μ€ν(λ€λ₯Έ ν¨μμ μΈμλ‘ λ겨μ§λ ν¨μ)
μ½λ°± ν¨μ(callback function)λ, λ€λ₯Έ ν¨μμ μΈμλ‘ μ λ¬λμ΄, ν΄λΉ ν¨μ λ΄λΆμμ νΈμΆλλ ν¨μλ₯Ό λ§ν©λλ€. μ¦, ν¨μ λ΄λΆμμ λ€λ₯Έ ν¨μλ₯Ό νΈμΆν λ, ν΄λΉ ν¨μλ₯Ό 맀κ°λ³μλ‘ μ λ¬νμ¬ μ€ννλ κ²μ
λλ€.
{
function func(){
document.write("2. ν¨μ μ€ν");
}
function callback(str){
document.write("1. ν¨μ μ€ν");
str();
}
callback(func);
}
κ²°κ³Ό νμΈνκΈ°
1. ν¨μ μ€ν
2. ν¨μ μ€ν
26. ν¨μ μ’
λ₯ : μ½λ°± ν¨μ : ν¨μλ₯Ό λλ² μ€ν(λ€λ₯Έ ν¨μμ μΈμλ‘ λ겨μ§λ ν¨μ)
ν¨μ μμ ν¨μκ° μλ ννμ
λλ€. callbackν¨μμ 맀κ°λ³μλ‘ ν¨μμ μ΄λ¦μ μ£Όκ³ . λ€λ₯Έ ν¨μλ₯Ό νΈμΆνμ¬ μ€νμν΅λλ€.