請再指教asp的function過程

2022-11-12 08:25:17 字數 1673 閱讀 5214

1樓:陰天的藍色

樓上的**寫的不規範

我來說說吧

sub是過程,也就是處理某件事情的過程,處理完成後,什麼也不返回。

而function函式呢,他也是處理事情的過程,但是呢,他處理完後可以返回一個值。

這樣:function sum(a as long,b as long )as long

sum=a+b

end function

這樣才是一個完整的函式

sub sums(a as long,b as long)

dim sum as long

sum=a+b

end sub

這就是一個過程

由上面的函式看,當呼叫函式的時候,傳入了兩個值,然後呢sum=a+b,sum就是這個函式的名稱,當在函式過程裡的時候,函式的名稱也是一個變數,所以在括號後面還有一個as long,也就是說函式的返回值是long型。

當我們呼叫函式的時候:

dim c as long

c=sum(1,2)

函式內部把1和2相加,然後返回1和2的值,然後把這個值給c變更。

再看看上面的過程

當我們呼叫過程的時候

sums(1,2)

在內部它把1和2相加了,但是他沒有返回值,所以過程只是處理事情的,而不能返回一個值。

所以當我們要c=sums(1,2)這樣就不可以,因為過程沒有返回值。

就說這麼多吧

剛才又看了看樓主的問題補充,我再補充一下

q1:返回值是哪個?不懂,我猜是sum對嗎

a1:這個問題我前面說過了,因為函式就相當於一個變數。

q2:還有在過程外你寫a=1,b=2

c=sum(a,b)我看不懂啊

a2:上面的那個回答者,其實應該宣告一下a b變數:

dim a as long

dim b as long

a=1b=2

然後呼叫sum函式,在括號裡的就是呼叫這個函式傳入的引數,當函式執行的時候,函式就可以用這兩個變數來做一些運算等。

因為前面已經宣告瞭a,b變數且a=1,b=2,所以sum(a,b)和sum(1,2)是相同的。

q3:還有sum(1,2)怎麼等於3了,,,這裡沒有加號怎麼自己就

加起來了

a3:當程式執行到sum(a,b)語句的時候,程式就開始呼叫sum函式,然後執行函式裡的語句,函式裡的語句sum=a+b,然後函式返回的值就等於傳入的兩個變數的和了,當執行到end function時,就返回到剛才呼叫函式的地方繼續執行。

ps:我怕你不知道函式傳入引數啥意思,這裡說一下

函式傳入引數就是傳入值,然後進行處理,這兩個值就相當於兩個變數,傳入的引數有兩種傳遞方法,一種byval(傳值),一種byref(傳址),這裡也不多說了,看看書吧,在vb6裡預設傳址byref,在vb.net中預設傳值byval。

2樓:匿名使用者

比如說 sub 執行完程式**後就直接返回了,不會帶回數值。而function執行完**後可以返回一個值,用來返回一個計算結果等數字。

例如:function sum(a,b)

sum=a+n

end function

可以呼叫為:

a=1b=2

c=sum(a,b)

執行後c=3

而sub則不能用「變數=程式名 」來呼叫。

asp時間函式,asp中,獲取當前時間的函式是什麼

基本函式 date 建立日期變數,顯示格式 2004 2 28 time 建立時間變數,顯示格式 22 24 59 now 建立日期和時間變數,顯示格式 2005 5 2 22 37 30 單獨獲取年 月 日 時 分 秒 先建立日期變數d date 獲取年份 year d 獲取月份 month d ...

ASP語法錯誤,請高人幫忙 ASP錯誤的問題?

依你所述!上面有7個檔案,其中有一個檔案第三行出錯了,錯誤資訊中會提示是哪一個檔案的,稍微注意就看到了,把那 覆上來,幫你解決!include file 引用檔案 錯誤資訊是 行 3 說明你的檔案中 又問題,請仔細檢查中的 謝謝。技術交流,請多多指教。頂下 force 1990 他說的沒錯。不過前提...

asp的程式設計問題

false,預設為false,當設定為true時,伺服器端的資料會先輸出到緩衝區,然後再從緩衝區輸出至客戶端,如果取預設狀態下的false,則伺服器端的資料會直接輸出到客戶端瀏覽器。格式 response.buffer true 示例 response.buffer true if request....