当前位置: 首页 > 图文教程 > 网络编程 > ASP > ASP中函数调用对参数的影响

ASP
ASP字符串大写转换成小写 ASP小写转换成大写 ucase lcase
asp base64加解密函数代码
Discuz!NT 论坛整合ASP程序论坛
discuz 2.0整合asp系统,用户添加函数
P3P 和 跨域 (cross-domain) cookie 访问(读取和设置)
通过asp程序来创建access数据库
检查access数据库中是否存在某个名字的表的asp代码
asp #include file 与 #include virtual 的区别小结
一个带采集远程文章内容,保存图片,生成文件等完整的采集功能
asp 横排显示数据
asp base64 utf-8为了兼容asp.net的base64
两个非常规ASP木马(可躲过扫描)
asp DateDiff实现文字在特定时间后消失
ASP所有的Session变量获取实现代码
关于ASP eof与bof 区别分析
asp ajax注册验证之 防止用户名输入空格
asp sqlserver 执行存储过程返回记录集报对象关闭时不允许操作
ASP 获取文件扩展名函数getFileExt()
asp 简单分页代码
asp删除mssql数据库中没有记录的图片代码

ASP中函数调用对参数的影响


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-03   浏览: 118 ::
收藏到网摘: n/a

  在ASP编程中,经常需要自己编写一些函数(或过程)来实现某些特定的功能,这时往往需要向函数(或过程)传递相应的参数
在函数(或过程)中进行数据处理,即有可能需要保留或改变参数的值,下面有相关范例
用下面的函数(TestAddress)就可以使一个函数多个返回值成为可能(一个函数返回值,多个参数改变后的值)

范例:

<%@LANGUAGE="VBSCRIPT"%>
<%
Option Explicit

'===================================================================
' 参数传递                                    
' 1.值传递参数 (Call By Value)                 
'   Function TestValue(ByVal A,ByVal B)            
'   函数内参数 A、B 改变 不影响 函数的外部变量     
'                                             
' 2.指针参数 (Call By Address)                 
'   Function TestAddress(ByRef A,Byref B)            
'   函数内参数 A、B 改变 影响到 函数的外部变量     
'
'  说明:
'  1. 参数可以是数字、字符、数组、对象等VBSCRIPT语言所支持的大部分类型
'  2. 函数返回值的类型也可以是数字、字符、数组、对象等VBSCRIPT语言所支持的大部分类型
'  3. 过程调用参数方法与函数类似
'===================================================================
Dim A1,B1
Dim A2,B2

Function TestValue(ByVal A,ByVal B)  

 A = A + 1
 B = B + 1
 TestValue = A + B

End Function

Function TestAddress(ByRef A,Byref B)

 A = A + 1
 B = B + 1
 TestAddress = A + B

End Function

 A1 = 11 
 B1 = 33
 A2 = 11
 B2 = 33

 Response.Write "初值:" & " "
 Response.Write "A1=" & A1 & " "
 Response.Write "B1=" & B1 & "<BR>"
 Response.Write "函数(TestValue)值:" & TestValue(A1,B1) & "<BR>"
 Response.Write "终值:" & " "
 Response.Write "A1=" & A1 & " "
 Response.Write "B1=" & B1 & "<BR><BR><BR>"

 Response.Write "初值:" & " "
 Response.Write "A2=" & A2 & " "
 Response.Write "B2=" & B2 & "<BR>"
 Response.Write "函数(TestAddress)值:" & TestAddress(A2,B2) & "<BR>"
 Response.Write "终值:" &  " "
 Response.Write "A2=" & A2 & " "
 Response.Write "B2=" & B2 

'======================
'  相似过程
'======================
Sub Test_Value(ByVal A,ByVal B)  

 A = A + 1
 B = B + 1

End Sub

Sub Test_Address(ByRef A,Byref B)

"