关于asp函数和过程的变量是值还是指针
指针在C中经常提到,但是任何一种语言中都隐藏着指针。
asp也是如此,在我们传递参数给function或者sub时,我们如果传递的是一个变量,那么asp会把这个变量地址传过去,所以如果你在函数和过程里面更改这个参数,那么原变量也会改变。
'函数例子
Dim i1,i2
i1=1
'=======================
Function toadd(i)'或者toadd(ByRef i)
i=i+1
toadd=i
End Function
i2=toadd(i1)
Response.Write(i1&","&i2)
'输出2,2
'=======================
Function toadd(i)'或者toadd(ByRef i)
toadd=i+1
End Function
i2=toadd(i1)
Response.Write(i1&","&i2)
'输出1,2
'=======================
Sub toadd(i)'或者toadd(ByRef i)
i=i+1
Response.Write(i&","&i1)
End Sub
Call toadd(i1)
'输出2,2
'=======================
Sub toadd(i)'或者toadd(ByRef i)
dim x
x=i+1
Response.Write(i&","&i1&","&x)
End Sub
Call toadd(i1)
'输出1,1,2
以上例子充分说明,如果你在函数和过程里面如果对变量进行重新赋值,并且你传入的参数是一个变量,那么外部变量也会改变,所以在传入地址的时候asp默认传入的是指针,所以在写通用函数的时候,如果您不想改变原来的值,最好在函数里面重新定义一个私有变量,使用私有变量进行操作,或者在变量前面加指明变量类型为值,方法为ByVal 变量
'函数例子
Dim i1,i2
i1=1
'=======================
Function toadd(ByVal i)
i=i+1
toadd=i
End Function
i2=toadd(i1)
Response.Write(i1&","&i2)
'输出1,2
'=======================
Function toadd(ByVal i)
toadd=i+1
End Function
i2=toadd(i1)
Response.Write(i1&","&i2)
'输出1,2
'=======================
Sub toadd(ByVal i)
i=i+1
Response.Write(i&","&i1)
End Sub
Call toadd(i1)
'输出2,1
'=======================
Sub toadd(ByVal i)
dim x
x=i+1
Response.Write(i&","&i1&","&x)
End Sub
Call toadd(i1)
'输出1,1,2
相关文档:
一、修改格式:调整表头居左;
<!--原来格式-->
/*说明:把整个表头和页面内容居中,当页面内容较长时,表头也居中,看起来像表头错位。*/
<div style="position: absolute;top:3px;">
<center>
<!--#include file="inc/glfcd.inc"-->
<br>
标题
</br& ......
动态网页开发——ASP连接SQL2005数据库
说明:a、以下字符中数据库名forum,数据库服务器名WWW-2443D34E558\SQL2005(或者127.0.0.1)
b、查看sql数据库服务器名称:对象资源管理器->数据库->右键点击自己建的数据库->属性->权限
c、Provider=sqlncli也可以,UID与“=”之间不可以 ......
<%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%>
<%
if request("action")=1 then
Response.ContentType="application/ms-excel"
Response.AddHeader "content-disposition","attachment;filename=www.xls"
end if
%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//E ......
最近很苦恼,当数据访问失败或者成功的时候,要页面的js处理一些效果,只是不知道怎么调用,非常郁闷。终于找
到了一个地方:
ScriptManager.RegisterStartupScript(ListUpdatePanel, typeof(UpdatePanel), "", "alert(1);", true);
在后台的函数中调用这个即可。(针对updatepanel)刷新数据后,就会调用js ......