<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>JAVA SCRIPT</title>
<script>
function f1(){
const name ="신한DS" ;
su2 = 200;
var su = 100;
var total=0 ;
for(let i =1 ; i<=su;i++ ){
total +=i;
}{
let coffee = "아메리카노";
console.log(coffee);
}
document.querySelector("#here").innerHTML =su + " 까지 합: " + total;
}
function f2(){
}
</script>
<script>
function f2(){
var su1 = Number(document.querySelector("#input1").value);
var su2 = Number(document.querySelector("#input2").value);
var op = document.querySelector("#op").value;
var result = calculate(su1,su2,op);
document.querySelector("#result").value = result;
}
function calculate(su1,in2,op){
var result ;
switch(op){
case "+" : result = su1 + in2;break;
case "-" : result = su1 - in2;break;
case "*" : result = su1 * in2;break;
case "/" : result = su1 / in2;break;
}
return result;
}
function f3(){
var su1 = document.querySelector("#input1").value;
var su2 = document.querySelector("#input2").value;
var op = document.querySelector("#op").value;
var result = eval(su1 + op + su2)
document.querySelector("#result").value = result;
}
function f4(){
var add =function(a,b){
return a+b;
};
var result = add(10,20);
document.querySelector("#here").innerText = result;
}
function f5(){
var result = (function(a,b) {return a+b})
(30,40);
document.querySelector("#here").innerText = result;
}
function f6(){
var result = (function(a,b){return a+b;})(1,2);
var f = (a,b) => a+b;
var result = f(1,2);
document.querySelector("#here").innerText = result;
}
function call(){
document.querySelector("#here").innerText = "1";
}
function call(){
document.querySelector("#here").innerText = "2";
내부함수();
function 내부함수(){
alert("함수밖에서 만든 함수.....선언적 내부함수");
}
var f = function() {
alert("함수내의 익명함수");
}
f();
}
function f7(){
var result = sumAll(1,2,3,4,5,6,7,8,9,10);
document.querySelector("#here").innerText = result;
}
function sumAll(){
var result =0;
for(let i=0; i<arguments.length;i++){
result += arguments[i];
}
return result;
}
function f8(){
var f = function() {
alert("콜백함수연습");
};
f9(f);
}
function f9(argFunction){
argFunction();
}
function f10(){
var f = function(){
document.querySelector("#here").innerText = new Date();
};
timerId = setInterval(f,1000);
}
function f10_stop(){
clearInterval(timerId);
}
function f11(){
var aa = returnFunc();
var result = aa();
document.querySelector("#here").innerText = result;
}
function returnFunc(){
var score=100;
var f = function(){
alert("나의 점수는 " + score);
return score;
};
return f ;
}
var add = (function(){
var cnt =0;
console.log("즉시 실행함수는 1번 실행되고있다.")
return function(){
cnt++;
return cnt;
};
})();
function f12(){
document.querySelector("#here").innerText = add();
}
var cnt2 =0;
function f13(){
cnt2++;
document.querySelector("#here").innerText =cnt2;
}
function f14(){
for(let i=1; i<=3 ; i++){
setTimeout(function(){alert(i);},1);
}
}
function f15(){
var arr = [10,20,30];
arr.forEach(function(elt,index,arr2){
console.log(elt,index,arr2);
setTimeout(function(){
alert(elt);
},1);
});
}
</script>
</head>
<body>
<h1>Function</h1>
<div id="here">여기</div>
<button onclick="f1()"> var & let</button>
<button onclick="f4()"> 익명함수(이름없는 함수)</button>
<button onclick="f5()"> 즉시실행함수</button>
<button onclick="f6()"> 화살표함수(다른언어는 람다)</button>
<button onclick="call()"> 같은이름함수</button>
<button onclick="f7()">가변인자</button>
<button onclick="f8()">콜백함수</button>
<button onclick="f10()">콜백함수(현재시간을 출력)</button>
<button onclick="f10_stop()">시계중지</button>
<button onclick="f11()">함수를 Return(클로저떄문)</button>
<button onclick="f12()">Counter</button>
<button onclick="f13()">Counter2(global영역)</button>
<button onclick="f14()">클로저 테스트</button>
<button onclick="f15()">클로저 테스트2</button>
<input type="number" id="input1" value="100">
<select id="op">
<option>+</option>
<option>-</option>
<option>/</option>
<option>*</option>
</select>
<input type="number" id="input2" value="300">
<button onclick="f2()">결과1</button>
<input type="number" id="result" readonly = "readonly">
<button onclick="f3()">결과2</button>
</body>
</html>