<script>
//1-1
var num1 = 10;
var num2 = 20;
var sum = num1 + num2;
alert("result : " + sum);
//1-2 함수 호출 (다음에 쉽게 불러올 수 있다)
function addNumber(){
var num1 = 10;
var num2 = 20;
var sum = num1 + num2;
alert("result : " + sum);
}
addNumber(); //호출하는 갯수마다 창이 뜸
</script>
• let, const - ES6 버전 이후에 변수를 선언하는 예약어
• var가 있는데 왜 let과 const라는 예약어가 필요할까?
변수 이름 앞에 var를 붙이면 지역 변수 ---- > 함수 안에서만 사용할 수 있는 변수
var가 없으면 전역 변수 ---- > 프로그램 전체에서 사용할 수 있는 변수
->실수로 var를 빼먹었다면?
변수를 선언하기 전에 변수를 사용하면?
-> 오류가 생기지 않는다
-> 변수 선언이 앞에 있는 것처럼 끌어올려(hoisting) 인식한다.
<script>
var x = 100;
function test(){
document.write("x is " + x + " y is " + y);
var y = 200;
}
test();
</script>
이미 있는 변수를 다시 선언할 수 있다
-> 실수로 서로 다른 위치에서 같은 변수를 선언할 수 있다는 것은 문제
-> 재선언하면 이전 변수를 덮어쓰기 때문에 예상하지 못한 오류가 생길 수 있음.
[변수의 스코프]
let 변수와 const 변수는 블록 영역의 스코프
[호이스팅 없음]
변수를 선언하지 않고 사용하면 오류 발생
[변수의 재선언 불가]
같은 변수를 다시 선언하면 오류 발생
<script>
//3-1 let 과 const
function calcSum(n){
let sum = 0;
for(let i = 1; i < n + 1; i++){
sum += i;
}
document.write(sum);
}
calcSum(10);
</script>
변수는 이렇게 사용하세요
여러 번 사용할 수 있는 함수 만들기
매개변수(parameter)
인수 (argument)
<script>
//3-2 return 문
function calcSum(n){
let sum = 0;
for(let i = 1; i < n + 1; i++){
sum += i;
}
return sum;
}
// calcSum(10);
// document.write(sum);
var result = calcSum(10)
document.write(result)
</script>
<script>
// 4-1 최소값 구하기
function minvalue(a,b){
var min = 0;
if(a<b){
min = a;
}else{
min = b;
}
return min;
}
var min = minvalue(121,67) //비교할 값 입력
document.write(min)
// 4-2 최대값 구하기
function maxvalue(a,b){
var max = 0;
if(a>b){
max = a;
}else{
max = b;
}
return max;
}
var max = maxvalue(221,67) //비교할 값 입력
document.write(max)
</script>
<script>
var su1 = parseInt(prompt("첫 번째 숫자 : "));
var su2 = parseInt(prompt("두 번째 숫자 : "));
function compreNumber(su1, su2){
if(su1 == su2){
alert(su1 + "과 " + su2 + "는 같다");
}else if(su1 > su2){
alert(su1 + "이 " + su2 + "보다 크다");
}else{
alert(su2 + "가 " + su1 + "보다 크다");
}
}
compreNumber(su1, su2)
</script>
<script>
var su = parseInt(prompt('판별할 수를 입력하세요'));
function evenodd(num){
if(num % 2 == 0){
alert(num + "은 짝수");
}else{
alert(num + "은 홀수");
}
}
evenodd(su);
</script>
<script>
//7-1
var dan = parseInt(prompt("출력할 단을 입력하세요"));
function displaygugudan(todan){
for(let i = 1; i <= 9; i++){
document.write(todan + "*" + i + "=" + todan*i + " ") ;
}
}
displaygugudan(dan);
//7-2
var dan = parseInt(prompt("출력할 단을 입력하세요"));
function displaygugudan(todan){
for(let i = 1; i <= 9; i++){
for(let j = 1; j < todan + 1; j++){
document.write(i + "*" + j + "=" + i*j + " ") ;
}
}
}
displaygugudan(dan);
</script>
오늘은 함수에 대한 개념정리와 복습을 많이 해서 어려웠던 부분을 정리할 수 있어서 좋았다.