关于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& ......
探索软件工作室长期专业承接中小型商业软件或网站,最优惠的价格和高质量的服务期待您的惠顾!
本工作室承接 JSP ASP VB PB LotusNotes 等语言要求的应用系统开发业务
java jsp实战源程序代码:
......
页面自动刷新代码大全,基本上所有要求自动刷新页面的代码都有,大家可以自由发挥做出完美的页面。
1)
10表示间隔10秒刷新一次
2)
<script>
window.location.reload(true);
</script>
如果是你要刷新某一个iframe就把window给换成frame的名字或ID号
3)
<script>
window.navigate("本页面url"); ......
第一种方法:
<%
d = date()
response.write d&" "&WeekdayName(Weekday(d))
%>
输出样式:2004-5-7 星期五
************************************************************************* ......
最近很苦恼,当数据访问失败或者成功的时候,要页面的js处理一些效果,只是不知道怎么调用,非常郁闷。终于找
到了一个地方:
ScriptManager.RegisterStartupScript(ListUpdatePanel, typeof(UpdatePanel), "", "alert(1);", true);
在后台的函数中调用这个即可。(针对updatepanel)刷新数据后,就会调用js ......