请教一个ASP代码的问题
来源:百度知道 编辑:UC知道 时间:2024/04/28 20:00:51
<%
Dim Y=1
Call SetLocalVariable
Response.Write Y
Sub SetLocalVariable
Dim Y
Y=2
End Sub
%>
其实和下面是一样的,对吗?
<%
Dim Y=1
Sub SetLocalVariable
Dim Y
Y=2
End Sub
Response.Write Y
%>
Dim Y=1
Call SetLocalVariable
Response.Write Y
Sub SetLocalVariable
Dim Y
Y=2
End Sub
%>
其实和下面是一样的,对吗?
<%
Dim Y=1
Sub SetLocalVariable
Dim Y
Y=2
End Sub
Response.Write Y
%>
从执行效果来说是一样的。
在第一个程序里,SetLocalVariable过程中定义的Y变量是私有变量,在过程结束后就失效了,所以过程中对Y赋值的操作并没有影响到主程序中Y的值,最终输出为1。
在第二个程序里,SetLocalVariable过程并没有被调用,最终输出结果为1(实际上即使调用也不会有什么变化)。
此外ASP并不支持Dim Y=1这种形式,在声明变量的时候并不能赋值,要分成Dim Y和Y=1两条语句来进行。
不一样,后者没有调用“Call SetLocalVariable”
Call SetLocalVariable 是调用SetLocalVariable
Sub SetLocalVariable
End Sub
之间是一个函数,在二个中没有执行子过程