<script>
"use strice";
// 함수 : 명령어 묶음
// 함수 정의
// function name(parameter, parameter, ...){command; command; ....}
// - 특정 기능을 수행하기 위해 만든 명령어를 언제든지 재사용할 수 있다.
// - 재사용을 생각해서 가능한 개벼 ㄹ기능 단위로 명령어를 묶어야 한다.
function test() {
console.log('cool');
var input = prompt('name?');
console.log(input);
}
// 함수 사용(함수 호출)
// 함수명(값, 값, 값, ...);
/* test();
test(); */
// task : 1부터 x까지 수의 합계
// - 함수 파라미터는 var을 선언하지 않는다.
// - 함수에서 값을 반환할 때 return을 사용
// return 반환 값
//***** 함수 안에서 window 객체에 소속된 변수를 사용하지 말라!!!
//***** window 객체에 소속된 변수의 값이 필요하다면 파라미터로 받아라!!!
function f(x) {
var sum = 0;
var n = x;
for (var i = 1; i <= n; i++)
sum += i;
return sum;
}
var p = Number(prompt('number', 'input'));
console.log('1부터 ', p, '까지 합계', f(p));
console.log(sum); // 함수 안에 선언된 변수는 해당 함수를 벗어나면 사라진다. local variation(지역 변수)
// Global Variation(window 객체에 소속된 변수), local variation (함수에 임시적으로 만들어지는 변수)
var sum = 0;
f(10);
console.log(sum);
// 몰래 숨겨둔 변수 "arguments" : 모든 함수는 arguments 배열을 갖고 있다.
// arguments 배열 : 모든 인자(arguments) 값을 보관
function accum(p1, p2) {
var sum = 0;
console.log('accum()---------------------');
// 파라미터 선언과 관계없이 모든 인자 값을 arguments에서 갖고 있음!
console.log(p1, p2);
console.log(arguments[0], arguments[1]);
for (var i = 0; i < arguments.length; i++) {
sum += arguments[i];
}
}
console.log(accum(10, 20));
console.log(accum(10, 20, 30));
console.log(accum(10, 20, 30, 40));
function myLog() {
var str = '';
for ( var i in arguments) {
str += arguments[i];
}
console.log(str);
}
myLog('aaa', 'bbb', 'ccc', 'ddd');
</script>
댓글 없음:
댓글 쓰기