자바스크립트에서 return 키워드로 함수를 호출한 곳으로 값을 넘길 수 있다.
원래 return 키워드는 함수가 실행되는 도중에 함수를 호출한 곳으로 돌아가라는 의미이다.
따라서 return 키워드를 사용하면 값을 지정하지 않아도 함수를 호출한 곳으로 돌아간다.

다음 예제를 보자.

<script>
//함수 생성
function returnFunction() {
alert('문장 A');
return;
alert('문장 B');
}

//함수 호출
returnFunction();
</script>

출력 결과는 어떻게 나올까?

return 키워드를 '문장 B' 이전에 사용했기 때문에
해당 위치에서 함수가 종료된다.
따라서 '문장 A'만 출력된다.

그렇다면, 아무 값도 리턴하지 않으면 어떠한 결과가 출력될까?

다음 예제를 살펴보자.

<script>
//함수 생성
function returnFunction() {
alert('문장 A');
return;
alert('문장 B');
}
//함수 호출
var output = returnFunction();
alert(typeof (output) + ' : ' + output);
</script>

위에 코드를 실행하면, '문장 A' 경고창이 한번 출력된다.
그리고 변수 output의 자료형과 값을 출력하는데
함수에서 아무 값도 리턴하지 않았기 때문에
자료형, 값이 모두 undefined로 출력된다.






참고 서적 : 모던 웹을 위한 JavaScript + jQuery 입문(개정판)

윤인성 지음. 한빛미디어

'웹개발 > javascript' 카테고리의 다른 글

자바스크립트 클로저 closure  (0) 2019.02.02
자바스크립트 내부 함수  (0) 2019.02.02
자바스크립트 가변 인자 함수  (0) 2019.02.02
자바스크립트 매개변수  (0) 2019.02.01
자바스크립트 선언적 함수  (0) 2019.02.01
자바스크립트 가변 인자 함수는
매개변수를 선언된 형태와 다르게 사용했을 때, 매개변수를 모두 활용하는 함수를 말한다.

매개변수로 입력된 숫자를 모두 더하는 sumAll( ) 함수를 작성하면서,
가변 인자를 공부해보자.

<script>
//함수 생성
function sumAll() {
alert(typeof (arguments) + ' : ' + arguments.length);
}

//함수 호출
sumAll(1, 2, 3, 4, 5, 6, 7, 8, 9);
</script>

위에 코드를 보면, 함수 내부에 arguments 변수를 사용하고 있다.
자바스크립트의 모든 함수는 내부에 변수 arguments가 기본적으로 있다.
변수 arguments는 매개변수의 배열이다.

코드를 실행하면, 배열은 객체이므로 object 자료형을 출력할 것이고
함수를 호출할 때, 아홉 개의 매개변수를 입력했으므로 arguments.length의 값은 9로 나올 것이다.

이제 아홉 개의 매개변수를 모두 더해서 리턴하는 함수를 만들어보자.

<script>
//함수 생성
function sumAll() {
var output = 0;
for (var i = 0; i < arguments.length; i++) {
output += arguments[i];
}
return output;
}

//함수 호출 및 출력
alert(sumAll(1, 2, 3, 4, 5, 6, 7, 8, 9));
</script>

결과는 '45'가 나올 것이다.
끝.






참고 서적 : 모던 웹을 위한 JavaScript + jQuery 입문(개정판)

윤인성 지음. 한빛미디어

1. 체중을 줄이고 허리둘레 수치가 늘지 않게 조심한다.


2. 매일 최소 30분씩 운동한다.

규칙적인 운동은 혈압을 4~9mmHg 정도 낮출 수 있다.

중요한 것은 운동은 꾸준히 일관되게 해야 한다는 점이다. 운동을 중단하면 다시 혈압이 상승한다.

고혈압 전단계에 해당하면, 운동은 고혈압 진행을 막을 수 있으며,

이미 고혈압 환자라면 운동은 혈압을 안전수치로 낮추는데 도움된다.


추천하는 운동 : 걷기, 조깅, 자전거타기, 수영, 춤, 근력운동


3. 건강하게 먹는다.

통곡물, 과일, 채소, 저지방 유제품을 섭취하며, 포화지방과 콜레스테롤 섭취는 줄이는 식단은

혈압을 최대 14mmHg까지 낮출 수 있다.


4. 소금 섭취를 줄인다.

소금 섭취를 조금이라도 줄이면 혈압을 2~8mmHg 줄일 수 있다.


5. 음주 제한

적정선을 넘는 지나친 음주는 혈압을 상승시킬 수도 있으며, 혈압 약 효과를 감소시킬 수도 있다.


6. 금연한다.

금연은 혈압을 정상 수치로 돌리는데 중요하다.


7. 카페인을 줄인다.

카페인 섭취를 할 때, 혈압이 다소 상승할 가능성이 있다고 하니 섭취를 줄인다.


8. 스트레스를 줄인다.

만성 스트레스는 고혈압을 악화시키는 중요한 원인이다.

가끔 있는 스트레스 역시 고혈압에 좋지 않다.


스트레스 요인을 피할 수 없다면, 다음과 같이 해보자.

- 기대치를 바꾸기(바꿀 수 없는 것은 받아들인다)

- 노(NO)라고 할 수 있는 방법과 관리 가능한 한도 내에서 생활하는 법을 배우기

- 조절 가능한 문제는 대처해서 해결하기

- 자신만의 스트레스 유발 원인을 정확히 알고 피할 수 있다면 피하기

- 하루에 15~20분은 조용히 앉아서 심호흡을 하면서 안정을 취하는 시간을 갖기

- 다른 이에게 감사를 표현하면 스트레스가 많은 생각을 줄이는데 도움 된다 등의 방법들로 스트레스에 대처한다.


9. 집에서 혈압을 재보고 의사를 정기적으로 방문한다.

집에서 혈압을 모니터링하며 수치를 기록해야 한다.

현재 하고 있는 생활습관법이 제대로 혈압을 낮추는데 도움되는 지 확인할 수 있다.

잠재적 위험성이 있는 합병증에 대해서도 경계할 수 있다.

정기적인 의사 방문은 혈압 조절에도 중요한 역할을 한다. 혈압이 잘 조절되면 6~12개월에 한번 방문하며,

잘 조절되지 않으면 보다 더 자주 의사를 방문해야 한다.


10. 주변 도움을 받는다.

가족이나 친구의 도움을 받는 것도 도움 된다.

함께 고혈압 식단을 실시하거나, 운동하기 등을 할 수 있다.

'건강 > 혈압' 카테고리의 다른 글

가정에서의 혈압 측정  (0) 2019.02.01

측정 전, 꼭 기억해주세요!




1. 하루 2번 측정할 것

- 아침 기상 후 1시간 이내에 측정할 것(약물 복용전, 식사 전)

- 저녁에 잠자리 들기 전에 측정할 것



2. 올바른 가정혈압 측정하기

- 측정 전, 30분 이내에 흡연 및 카페인 섭취 금지

- 화장실 다녀온 후, 5분간 휴식 후 측정

- 의자에 등을 기대 앉아, 혈압 측정 준비

- 커프를 위팔, 심장 높이에 착용

- 측정 후, 혈압 수첩에 측정치를 모두 기록

'건강 > 혈압' 카테고리의 다른 글

약 없이 고혈압을 낮추는 10가지 방법  (0) 2019.02.01
자바스크립트는 함수를 호출할 때,
지정한 매개변수보다 많거나 적은 매개변수를 사용하는 것을 허용한다.
지금까지 사용하던 alert( ) 함수와 prompt( ) 함수의 매개변수를 필요한 것보다 많고, 적게 입력해보자.

<script>
//함수 호출
alert('원래 매개변수입니다.', '추가된 매개변수입니다.');
</script>

위에 코드처럼, 원래 함수에서 선언된 매개변수보다 많게 사용하면
일반적으로 추가된 매개변수는 무시한다.

따라서 결과는,
'원래 매개변수입니다.' 라는 경고창을 출력한다.

또한 원래 함수에서 선언한 매개변수보다 적게 사용하면,
지정하지 않은 매개변수는 undefined로 입력된다.

아래 코드에서 prompt( ) 함수의 두 번째 매개변수를 입력하지 않고
코드를 실행해보면 두 번째 매개변수에 undefined가 입력된 것을 볼 수 있다.

<script>
//함수 호출
prompt('원래 매개변수입니다.');
</script>

어라, ie에서는 undefined가 입력된 것을 확인했는데
크롬에서는 undefined가 입력되어 있지 않네...컹







자바스크립트에서 함수 만드는 법은
아래와 같이 만들었었다.

익명 함수 만드는 법
<script>
var 함수 = function () {};
</script>

하지만, 일반적으로 다음 방식으로 함수를 만든다.

<script>
function 함수() {

}
</script>

위에 코드와 같은 방식으로 생성한 함수를 '선언적 함수' 라고 표현한다.

다음 코드를 살펴보자.

<script>
function 함수() { alert('함수 A'); }
function 함수() { alert('함수 B'); }
함수();
</script>

함수를 호출했을 때, 어떤 함수가 실행될까?
결과는 뒤에 위치하는 함수가 실행된다.

다음 코드도 살펴보자.
<script>
var 함수 = function () { alert('함수 A'); }
var 함수 = function () { alert('함수 B'); }
함수();
</script>

결과는 뒤에 위치한 함수가 실행된다.
변수는 같은 이름으로 다시 선언하면 기존의 변수를 덮어씌우므로 뒤쪽에 있는 변수를 사용하듯이,
위에 함수도 뒤에 위치한 함수가 이전에 선언한 함수를 덮어씌운다.

그렇다면 익명 함수와 선언적 함수의 차이점은 없는걸까?

<script>
함수();
var 함수 = function () { alert('함수 A'); }
var 함수 = function () { alert('함수 B'); }
</script>

위에 익명 함수의 경우, 코드를 실행하면 오류가 발생해 실행되지 않는다.
Uncaught TypeError: 함수 is not a function

변수를 선언하기 전에 변수를 사용했기 때문이다.

<script>
함수();
function 함수() { alert('함수 A'); }
function 함수() { alert('함수 B'); }
</script>

위에 선언적 함수를 사용하면 정상적으로 코드가 실행된다.
웹브라우저는 script 태그 내부의 내용을 한 줄씩 읽기 전에
선언적 함수부터 읽는다.

마지막으로 다음 코드도 살펴보자.

<script>
//함수 생성
var 함수 = function () { alert('함수 A'); }
function 함수() { alert('함수 B'); }

//함수 호출
함수();
</script>

실행 결과는, '함수 A'를 출력한다.
선언적 함수가 먼저 생성되고 익명 함수가 나중에 생성되기 때문이다.

개발할 때 실수할 수 있는 부분이라고 하니, 기억해두면 좋을 것 같다.






참고 서적 : 모던 웹을 위한 JavaScript + jQuery 입문(개정판)

윤인성 지음. 한빛미디어

'웹개발 > javascript' 카테고리의 다른 글

자바스크립트 가변 인자 함수  (0) 2019.02.02
자바스크립트 매개변수  (0) 2019.02.01
자바스크립트 익명 함수  (0) 2019.02.01
break, continue 키워드  (0) 2019.02.01
자바스크립트 반복문  (0) 2019.02.01

+ Recent posts