함수

heehe·2023년 2월 7일
0

JavaScript

목록 보기
6/8
post-thumbnail

함수

어떤 일의 단위. 또한 자주쓰는 내용들을 묶어서 함수로 만들어두면 필요할때 언제든 불러다 쓸 수 있다.

function 함수이름 (매개변수) {
    내용입력
    return 반환
}
function makeburger(){
  console.log("빵두기")
  console.log("상추두기")
  console.log("고기패티두기")
  console.log("뚜껑덮기")
}

function serveCoke(){
  console.log("콜라통 선택")
  console.log("얼음담기")
  console.log("콜라담기")
}

function servefrenchFries(){
  console.log("감튀박스선택")
  console.log("감튀담기")
}

makeburger() // 함수 부를때 ()꼭 붙이기

매개변수

함수에 전달해야되는 내용이 있을때, 이 함수가 실행될때 알아야되는 내용이 있을 때 매개변수를 통해 전달한다

function makeburger(type,size,num){ // 매개변수 순차적으로 들어간다.
  console.log("빵두기")
  console.log("상추두기")

  if(type == "불고기"){
     console.log("고기패티두기")
  }else if(type == "새우"){
    console.log("새우패티두기")
  }
  console.log("뚜껑덮기")
  console.log(type,"버거",size,"사이즈",num,"개 준비완료")
}

function serveCoke(){
  console.log("콜라통 선택")
  console.log("얼음담기")
  console.log("콜라담기")
}

function servefrenchFries(){
  console.log("감튀박스선택")
  console.log("감튀담기")
}

makeburger() // 함수 부를때 ()꼭 붙이기

// 매개변수
makeburger("불고기","L",3)

return

반환값, 함수 완료 후, 반환되야하는 값이 있을 때 사용한다

function makeburger(type,size,num){
  console.log("빵두기")
  console.log("상추두기")
  if(num < 1){
    return "버거 개수가 없습니다"
  }
  if(type == "불고기"){
     console.log("고기패티두기")
  }else if(type == "새우"){
    console.log("새우패티두기")
  }
  console.log("뚜껑덮기")
  console.log(type,"버거",size,"사이즈",num,"개 준비완료")

  return "완료되었습니다."
}

function serveCoke(){
  console.log("콜라통 선택")
  console.log("얼음담기")
  console.log("콜라담기")
}

function servefrenchFries(){
  console.log("감튀박스선택")
  console.log("감튀담기")
}

makeburger() // 함수 부를때 ()꼭 붙이기

// 매개변수 type
let result = makeburger("불고기","L",0)
console.log("버거 프로세스 결과",result)
function makeburger(type,size,num){
  console.log("빵두기")
  console.log("상추두기")
  if(num < 1){
    return "버거 개수가 없습니다"
  }
  if(type == "불고기"){
     console.log("고기패티두기")
  }else if(type == "새우"){
    console.log("새우패티두기")
  }
  console.log("뚜껑덮기")
  console.log(type,"버거",size,"사이즈",num,"개 준비완료")

  return "완료되었습니다."
}

function serveCoke(){
  console.log("콜라통 선택")
  console.log("얼음담기")
  console.log("콜라담기")
}

function servefrenchFries(){
  console.log("감튀박스선택")
  console.log("감튀담기")
}

makeburger() // 함수 부를때 ()꼭 붙이기
// 매개변수 type
let result = makeburger("불고기","L",0)
console.log("버거 프로세스 결과",result)

function makeset(){ // 전체 함수를 또 만들 수 있다.
  makeburger("새우","M",2)
  serveCoke()
  servefrenchFries()
}

makeset()

method: 메서드, 함수와 같은 뜻이다

익명함수 Anonymous function : 이름이 없는 함수. 
function (y) {console.log(y)}
함수를 변수에 넣어줄때, 일시적으로 쓰이고 말 함수들에 대해선 익명함수로 만들어준다

람다식 함수: => 를 사용하여 함수를 정의하는 경우이다.
let arrowFunc = (y) => { console.log(y); }

콜백함수 : 다른 함수의 매개변수로 전달된 함수.예시

button.addEventListenr("click",setCount)
// 버튼에 클릭 이벤트가 발생했을때 setCount함수를 콜을 한다
function setCount() {    count++
}

콜백은 말그대로 부른다는 뜻이다. 주로 어떤 함수에 매개변수로 들어가 어떤 특정한 조건이 되었을때만 호출이된다 (클릭이벤트나 타이머이벤트 등등)

문제 풀기

// 1번 "안녕 내 이름은 제시카야"라는 문장을 프린트하는 함수 'greet’를 만드시오
function greet(){
    console.log("안녕 내 이름은 제시카야")
}

// 2번 이름을 매개변수로 전달받아 다양한 이름을 프린트 할 수 있게 함수를 수정하시오 예) “안녕 내 이름은 에밀리야”, “안녕 내 이름은 할리야”
function greet(name){
    console.log("안녕 내 이름은",name,"야")
}

// 3번 매개변수로 전달받은 이름을 반환하게 함수를 수정하시오
function greet(name){
    console.log("안녕 내 이름은",name,"야")
    return name
}
// 결과 확인 법 
const name = greet("지영")
console.log("안녕 내 이름은",name,"이야")

// 4.meetAt 함수를 만들어주세요.
function meetAt(year, month, date) {
  let todayYear = year;
  let todayMonth = month;
  let todayDate = date;

  if (todayDate) {
    return `${todayYear}/${todayMonth}/${todayDate}`;
  }
  if (todayMonth) {
    return `${todayYear}${todayMonth}`;
  }
  if (todayYear) {
    return `${todayYear}`;
  }

}

console.log(meetAt(2022,1,7))
// String 문자열 안에 동적인 값을 넣어주고 싶을 때 ${동적인값}정적인문장을 넣어주면 된다. 그리고 이 문장을 감싸는것은 ""큰따옴표나 ''작은 따옴표가 아닌 `` 백틱이다.

// 5. findSmallestElement 함수를 구현해 주세요.
function findSmallestElement(arr) {
	let result = arr[0];
	if (arr.length === 0 ) {
		return 0;
	}
  for (let i = 1;i < arr.length; i++){
		if(result > arr[i]){
			result = arr[i];
		}
	}
	return result;
}

let smallestNumber = findSmallestElement([100,200,3,0,2,1])
console.log(smallestNumber)

// 6. 돈을 매개변수로 받으면 몇개의 지폐와 동전이 필요한지 최소 개수를 계산해주는 함수를 만드시오
let unit = [50000,10000,5000,1000,500,100]
function changeCalculate(money) {
  for(let i=0;i<unit.length;i++){
    
      let num = Math.floor(money / unit[i])
      console.log(unit[i]+"X"+num)
      money = money - (unit[i]*num)
    
  }
}

changeCalculate(12300)
profile
성장하고픈 ISFJ

0개의 댓글