강의 컨설팅 트레이닝 무료진단 무료책자 마케팅편지 마케팅정보공유 다이어리 서비스제휴 고객센터

Sub와 Function 차이점
작성자 : 99 단국강토
등록날짜 : 2009.01.06 10:03
1,791

Sub ... End Sub, Function ... End Function  둘의 차이점

 

 공통점

- 특정 부분의 작업을 수행한다.

- 계산이나 작업의 처리를 위해서 필요한 값을 넘겨받을 수 있다.

 차이점

- Sub 는 작업을 처리하지만, 결과값을 리턴시키지는 않는다

- Sub 는 작업의 처리를 위해서 일정한 자료를 받거나 받지 않을 수 있다. 

- Function 은 작업을 수행하고, 결과값을 리턴한다.

- Function 은 작업의 처리중에 필요한 자료를 함수에 전달해야 한다.

Function 은 작업의 결과를 리턴하기 위해서는 함수와 같은 명칭의 변수명에 값을

  넣어서 되돌려 보내야 한다.

 호출예

- Sub : <% Call Sub_name(값)%>

- Function : <% 변수명 = Finction_name (값)%>

 

 

우선 결과만을 적어보았습니다.

서브프로시저(Sub)나 함수(Function)를 사용하는 까닭이 무엇일까요?

사실 ASP 코딩은 엄청난 노가다를 필요로 할 때가 많습니다.

html 사이 사이에 ASP 코드를 절묘하게 집어넣어야 하는 것은 눈도 아프고

머리도 아프고 그렇습니다.

그런데, 한번 작성한 ASP 코드를 재사용해야 할 경우도 많습니다.

예를 들자면 『 유용한 ASP 예제 』포럼에 있듯이 html 코드를 text 로 변환하는 것이나

숫자를 받아서 화폐형식으로 변환시킨다던가 하는 것 이겠죠.

우리는 여기서 예제로 임의의 숫자를 받아서 브라우저에 구구단 형식으로 변환시키는

것으로 하겠습니다.

처음 코딩을 시작할 때 서브프로시저나 함수로 변환할 수 있는 것은 변환시키는

것이 편하고 나중에도 좋을 것이라는 생각은 하면서도 나 자신도 그렇게 되지 않더군요.

그래서 한군데 소스가 변하면 몇군데를 일일이 쫒아다니면서 수정을 해야하는

이 단순함....

앞으로는 서브나 함수를 잘 이용해 보자는 생각에 쉽게 정리를 하고자 합니다.

 

Function 의 예제 

<%
function calcu(test)
for i = 1 to 20
value = test * i
'response.write test & " * " & i & " = " & value & "<br>"  이것은 나중에 Sub로 변환시

사용할 것임
calcu = calcu & test & " * " & i & " = " & value & "<br>"  
'리턴값을 함수명과 같은 calcu 로 넘기는 것에 주목해주세요..

next 
End function

%>
<html>
<head>
<title>이십단</title>
<script language="javascript">
<!--
function num_check()
{
for (var i=0; i<document.form.gugu_num.value.length; i++)
{
if (!(document.form.gugu_num.value.charAt(i) >= '0' && 
document.form.gugu_num.value.charAt(i) <= '9'))
{
alert("숫자만 계산을 할수 있단다.")
document.form.gugu_num.value="";
return false;
}


document.form.gugu_num.focus 
return true;
}
//-->
</script>
</head>
<body>

<br>
<form name="form" action = "test.asp" method="post">
구구단을 외고 싶은 수 : <input type="text" name="gugu_num" size="10" maxlength="10">
<input type="submit" name="submit" value="눌러주세요" onclick="num_check();">
</form>
<%
gugu_num = trim(request("gugu_num"))
if gugu_num <> "" then
response.write gugu_num & " 단 입니다.<p>"
response.write calcu (gugu_num)
'
calcu gugu_num   Sub 에서 사용할 코드

end if
%>

</body>
</html>

Sub 의 예제 

<%
Sub calcu(test)
for i = 1 to 20
value = test * i
response.write test & " * " & i & " = " & value & "<br>"
'calcu = calcu & test & " * " & i & " = " & value & "<br>"  Function 일때 쓴 코드

next 
End Sub

%>
<html>
<head>
<title>이십단</title>
<script language="javascript">
<!--
function num_check()
{
for (var i=0; i<document.form.gugu_num.value.length; i++)
{
if (!(document.form.gugu_num.value.charAt(i) >= '0' && 
document.form.gugu_num.value.charAt(i) <= '9'))
{
alert("숫자만 계산을 할수 있단다.")
document.form.gugu_num.value="";
return false;
}


document.form.gugu_num.focus 
return true;
}
//-->
</script>
</head>
<body>

<br>
<form name="form" action = "test.asp" method="post">
구구단을 외고 싶은 수 : <input type="text" name="gugu_num" size="10" maxlength="10">
<input type="submit" name="submit" value="눌러주세요" onclick="num_check();">
</form>
<%
gugu_num = trim(request("gugu_num"))
if gugu_num <> "" then
response.write gugu_num & " 단 입니다.<p>"
'response.write calcu (gugu_num)      Function 일때 쓴 코드
calcu gugu_num

end if
%>

</body>
</html>

 

 

출처 : http://www.asprun.co.kr/main/default.htm

"쇼핑몰·홈페이지·오픈마켓
블로그·페이스북·이메일 등의 각종 마케팅 글쓰기,
각종 광고, 영업, 판매, 제안서, 전단지
반응율 3배×10배 이상 높이는 마법의 8단계 공식"
자세히보기

Comments

번호 제목 글쓴이 날짜 조회
2985 [펌] 제15강 - 방명록 만들기 IV M 최고의하루 12.19 2891
2984 [펌] 제16강 - 방명록 만들기 V M 최고의하루 12.19 3227
2983 제17강 - 방명록 만들기 VI M 최고의하루 12.18 3020
2982 [펌] 제18강 - 방명록 만들기 VII M 최고의하루 12.04 2947
2981 아작스관련 코드 링크들 M 최고의하루 12.04 2427
2980 mysql_fetch_array / mysql_fetch_object 사용 13 김영철 01.14 2876
2979 urlencode 13 김영철 01.14 2474
2978 숫자앞에 0붙이기 13 김영철 01.14 2967
2977 항상 새로 고침 13 김영철 01.14 2905
2976 다른 SMTP 서버 이용하여 메일 보내기 13 김영철 01.14 2446
2975 띠 구하는 함수 13 김영철 01.14 2641
2974 -1000 까지 누락된 숫자 구하기 13 김영철 01.14 3229
2973 이미지의 크기, 타입 정보 가져오기 13 김영철 01.14 2402
2972 [함수] 초를 시간 분 초로 바꿈.. 13 김영철 01.14 2892
2971 요일 구하기 함수 13 김영철 01.14 2337
2970 php.net 의 mysql 관련 함수 및 예제 13 김영철 01.14 2345
2969 APM에서 utf-8 구현 방법 13 김영철 01.14 2434
2968 utf-8 사용시 설정 - db의 입출력을 완벽하게 utf-8 13 김영철 01.14 2322
2967 PHP로 작동하는 RSS 읽는 함수 13 김영철 01.14 1681
2966 EditPlus V2.30 되면서 눈에띄는 달라진점 7가지 13 김영철 01.14 2358
2965 오라클 캐릭터 셋 변경 M 최고의하루 01.12 4026
2964 체크박스 배열을 edit 수정페이지로 불러오기 M 최고의하루 01.12 2341
2963 config 배열. 99 단국강토 01.08 2046
2962 Rewrite 99 단국강토 01.08 2399
2961 특정폴더에서 파일을 이미지파일을 들고와서 선택시..이미지 변환 99 단국강토 01.07 2342
2960 book_shop 99 단국강토 01.07 2211
열람중 Sub와 Function 차이점 99 단국강토 01.06 1792
2958 PUTTY Telnet , SSH 접속 프로그램 99 단국강토 01.06 2155
2957 VBScript 온라인 도움말 Ver 5.5 99 단국강토 01.05 2240
2956 스마택 Ver 0.2 ( 소스 자동 정렬 프로그램 ) 99 단국강토 01.05 2376
마케팅
특별 마케팅자료
다운로드 마케팅자료
창업,경영
기획,카피,상품전략
동기부여,성취