>  기사  >  웹 프론트엔드  >  ASP_javascript 스킬의 Sub와 Function의 차이점에 대한 설명

ASP_javascript 스킬의 Sub와 Function의 차이점에 대한 설명

WBOY
WBOY원래의
2016-05-16 18:12:371509검색

SUB와 FUNCTION의 차이점은 무엇이며 구문은 어떻게 구성되어야 합니까?
Sub: process;
함수: 반환 값을 가져올 수 있는 함수
구문:
Sub SubName(매개변수 1, 매개변수 2,...)
....
End Sub
Function FunctionName(매개변수 1, 매개변수 2,...)
...
FunctionName = 반환 값
End Function
호출 방법:
Sub가 직접 SubName을 사용합니다. 매개변수 1 , 매개변수 2,...
Function 값을 반환하지 않으려면 FunctionName 매개변수 1, 매개변수 2,...를 사용하세요.
값을 반환하려면 결과 = FunctionName (매개변수 1, 매개변수 2,...)
구문은 이렇습니다. 맞습니다.
Sub SubName(매개변수 1, 매개변수 2,...)
....
끝 Sub
Function FunctionName(매개변수 1, 매개변수 2 ,...)
...
FunctionName = 반환 값
End Function
호출 시:
sub만 사용할 수 있습니다.
SubName 매개변수 1, 매개변수 2,...
함수 규칙:
Variable=FunctionName (매개변수 1, 매개변수 2,...)
FunctionName 매개변수 1, 매개변수 2,...
위에서는 근본 원인을 설명하지 않습니다.
SUB FUNCTION과 FUNCTION 모두 반환 값을 가질 수 있습니다. 따라서 먼저 반환 방법을 설명해야 합니다. 프로세스 또는 함수 반환의 두 가지 유형이 있습니다. 즉, 프로세스 또는 함수와 동일한 이름을 가진 반환 변수 주소를 할당하는 것입니다. 함수는 할당하지만 sub는 할당하지 않습니다. VB는 이 방법을 사용하여 구별하고, VC는 VOID를 사용하여 할당 없이 선언합니다. 즉, p=aa()이고 aa()가 sub이면 아무것도 얻지 못하고 오류가 보고됩니다. 그러나 함수는 숫자 값을 얻습니다. 둘째, 매개변수는 기본적으로 VB에서 주소로 전달되므로 매개변수가 반환될 수 있습니다. 다만, 매개변수를 BYVAL로 선언하면 반환이 불가능하므로 유연성에는 차이가 없다. 예를 들어 함수 bb(a,b)는 bb m, n 또는 p=bb(m,n)으로 호출할 수 있습니다. 실제로 SUB는 실패하지 않을 것이라는 것이 확인된 경우에만 사용할 수 있습니다. 그렇지 않으면 FUNCTION을 사용해야 합니다. 성공 여부를 확인하는 데 사용됩니다. 또는 반환 값을 가져옵니다. 따라서 프로그래밍할 때 SUB를 적게 사용하고 SubName 매개변수 1, 매개변수 2,... 호출 방법의 사용을 줄여야 합니다.
sub는 값을 반환할 필요가 없는 프로세스이고, 함수는 값을 반환해야 하는 함수입니다.

코드 복사 코드는 다음과 같습니다.

Function NameOfFunction(parameter1, parameter2)
'some code
NameOfFunction = return value
End Function

코드 복사 코드는 다음과 같습니다.

Sub NameOfSubRoutine(parameter1, parameter2)
'어떤 코드...
End Sub

함수가 값을 반환한다는 점만 빼면 ASP에서는 FUNCTION처럼 sub를 쓰는 것과 별 차이가 없는 것 같다. 동일한 효과를 가지도록 합니다.

sub에는 반환 값이 없습니다
call sub는 sub를 호출할 수 있습니다
call function은<%=function%> 하위 사용 - 예를 들어 이벤트는 (private sub xxx_OnYYY)에 의해 트리거됩니다. 함수를 사용하면 값을 반환한다는 장점이 있습니다. sub를 사용할 수 있다고 생각하면 함수의 반환 값을 사용하여 프로그램에 오류가 있는지 알려줍니다. 일반적으로 0을 반환하면 성공을 의미하고, 다른 값은 오류 코드입니다.
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.