“ 매주 목요일마다 당신이 항상 하던대로 신발끈을 묶으면 신발이 폭발한다고 생각해보라.
컴퓨터를 사용할 때는 이런 일이 항상 일어나는데도 아무도 불평할 생각을 안 한다. ”- Jef Raskin
맥의 아버지 - 애플컴퓨터의 매킨토시 프로젝트를 주도
클라이언트사이드 |
<!DOCTYPE html>
<html lang="kor" dir="ltr">
<head>
<meta charset="utf-8">
<title></title>
</head>
<body>
<h1>2반 </h1>
</body>
<script type="text/javascript">let a = [1,4,7,11,19,50,70,77];
let odd = [];
let even = [];
let i = 0; // let item;
while(i < a.length){ // (a.length) 배열 A에 원소가 1개 이상 있으면 0이면 거짓
// item = a.shift();
// if (item%2>0)
// odd.push(item);
// else {
// even.push(item);
// }
// Ctrl + D
// console.log(`a = [$(a)]`);
// console.log(`even = [$(even)]`);
// console.log(`odd = [$(odd)]`);
if(a[i]%2 == 0){
odd.push(a[i]);
a.shift(a[i]);
}
else{
even.push(a[i]);
a.shift(a[i]);
}
}console.log("짝수 :" + odd + "홀수 : " + even + "a에는 [" + a + "]개")
</script>
</html>
함수
를 사용하지 않으면?
main()이 너무 길고 복잡해져 소스코드를 이해하기 힘듬
같은 기능의 코드도 필요할 때마다 매번 반복 입력해야 함
기존 코드의 일부를 재활용하려면 방대한 양의 main에서 찾아내야함
소스 코드의 양에 비례하여 변수도 늘어나 중복을 피해 변수명 정하는것도 번거로움
생성 방법
선언적 함수
function 함수명() {필요한 식} [전통적(일반적)인 함수]
function doubleX(n) {return 2*n)
함수명 : doubleX 함수명(식별자)작성 규칙 관례 참조
매개변수 (n) 식별자 이름만 결정
함수본문{} 실행 후결과를 반환
function 함수.toString() - > `내용
익명 함수
let 변수명 = function() {} <<JS가장중요한특징
-함수명이 생략된 함수 정의 자체를 변수에 저장
예) let doubleX = function(x) = { return 2*x;};
switch 문 활용하기
<html lang="kor" dir="ltr">
<head>
<meta charset="utf-8">
<title></title>
</head>
<body>
<h1>Clint Side Programming-2반</h1>
<h2>함수 dayOfMonth(month)</h2>
</body>
<script type = "text/javascript">
//1에서 12사이의 월(month) 값을 입력 받아 해당되는 날 수를 리턴(윤년 없음)
let daysOfMonth = function(month) {
switch(month) {
default:
return 31;
// break; // 끝날때 하는게 좋음 위에 그 리턴있어서 안써두됨.case 2:
return 28;
case 4:
case 6:
case 9:
case 11:
return 30;
}
}
console.log("1월은" + daysOfMonth(1) + "일 입니다.");
console.log("2월은" + daysOfMonth(2) + "일 입니다.");
console.log("4월은" + daysOfMonth(4) + "일 입니다.");
</script>
</html>
<!DOCTYPE html>
<html lang="kor" dir="ltr">
<head>
<meta charset="utf-8">
<title></title>
</head>
<body>
<h1>Clint Side Programming-2반</h1>
<h2>함수 dayOfMonth(month)</h2>
</body>
<script type = "text/javascript">let sayhello = function(name) {
return name + "씨 반갑습니다.";// 인사말을 만들어 리턴하기.
}
// 안녕하세요 저는 홍길동이고 20세 입니다.
let selfIntro = function(name, age) {
return "안녕하세요 저는 " + name + age + "살입니다.";
}console.log(selfIntro("최영환",20));
</script>
</html>
선언적 함수가 조금 더 편하지만, 함수정의자체를 변수에 저장할수있음
함수 정의 전체가 변수에 통으로 저장될 수있다<<<<<<<<<<<<<<<<<<<<<<<<<<<이거이거
화살표 함수