계속 반복해서 사용할 수 있는 코드 조각
어떤 코드를 캡슐화해서 실행을 여러번 할 수 있게 해줌
만약 아래와 같이 반복되는 코드를 하나하나 다 작성해줘야 한다면 비효율적임
console.log("Hello, my name is been");
console.log("Hello, my name is Lee");
console.log("Hello, my name is kim");
console.log("Hello, my name is hyebeen");
console.log("Hello, my name is seong");
함수를 만드는 방법
function sayHello() {
코드 블록
// 이곳에 작성하는 것이 sayHello를 실행할 때마다 실행됨
}
function sayHello(){
console.log("Hello!");
};
함수를 실행하는 방법은?
sayHello();
sayHello();
sayHello();
argument(인수)
함수 데이터 받는 방법
function sayHello(받을 데이터 추가하기) {
console.log("Hello my name is")}
function sayHello(nameOfPerson) {
console.log(nameOfPerson);
};
sayHello("been"); // been
sayHello("Lee"); // Lee
sayHello("seong"); //seong
첫번째 argument로 어떤 데이터가 들어오면 nameOfPerson이라는 변수 이름을 쓰게 되는 것임
argument는 추가 할 수 있음
function sayHello(nameOfPerson, age) {
console.log(nameOfPerson);
};
sayHello("been", 28);
sayHello("Lee", 30);
sayHello("seong", 18);
function sayHello(nameOfPerson, age) {
console.log("Hello my name is" + nameOfPerson + " and I'm" + age);
};
sayHello("been", 28); // Hello my name is been and I'm 28
sayHello("Lee", 30); // Hello my name is Lee and I'm 30
sayHello("seong", 18); // Hello my name is seong and I'm 18
function plus(a, b) {
console.log(a + b);
}
plus(1, 2); // 3
1과 2를 argument로 보내면 a자리에 1이 들어오고 b 자리에 2가 들어와서 a + b가 콘솔에 출력이 됨
a와 b는 { } 내부 코드블록에만 존재하기 때문에 plus 함수 밖에서 console.log(a + b)를 하면 존재하지 않는다고 나옴
object 안의 function 호출하기
const player = {
name: "been",
sayHello: function (otherPersonsName) {
console.log("Hello " + otherPersonsName + " nice to meet you";
}
};
console.log(player.name); // been
player.sayHello("hyebeen"); // Hello hyebeen nice to meet you
player.sayHello("Lee"); // Hello Lee nice to meet you