어떤 일의 단위. 또한 자주쓰는 내용들을 묶어서 함수로 만들어두면 필요할때 언제든 불러다 쓸 수 있다.
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)
반환값, 함수 완료 후, 반환되야하는 값이 있을 때 사용한다
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)