| 编程中国 | 业界新闻 | 技术文章 | 视频教程 | 下载频道 | 程序源码 | 个人空间 | 编程论坛
全能ASP/PHP/ASP.NET主机,支持月付专业 MSSQL 数据库空间,支持月付专业 MySQL 数据库空间,支持月付赛孚耐:软件保护加密专家
身份认证令牌USB KEY   
共有 651 人关注过本帖
标题:VBscript全局变量和局部变量的问题,帮忙解释一下这一小段代码
收藏  订阅  推荐  打印 
lightsout
Rank: 1
等级:新手上路
帖子:9
积分:200
注册:2006-9-11
VBscript全局变量和局部变量的问题,帮忙解释一下这一小段代码

第一段代码:

<%
dim c
sub addone(n)
n=n+1
response.Write c&"<br/>"
end sub
c=5
response.Write c&"<br/>"
addone c
response.Write c
%>


输出结果是:5
                     6 (不明白)
                     6

第二段代码:
<%
dim c
sub addone(n)
n=n+1
response.Write c&"<br/>"
end sub
response.Write c&"<br/>"             '不同的部分
c=5
response.Write c&"<br/>"
addone c
response.Write c
%>


输出结果:(换行)  (不明白)
                    5           (不明白)
                    6           (不明白)
                    6


谁不怕麻烦帮忙解释一下,谢谢了!
搜索更多相关主题的帖子: VBscript  变量  全局  局部  代码  
2007-11-29 16:10
yms123
Rank: 12Rank: 12Rank: 12
等级:版主
威望:75
帖子:8192
积分:83616
注册:2004-7-17

VBscript全局变量和局部变量的问题,帮忙解释一下这一小段代码
第一段代码:

<%
dim c
sub addone(n)
n=n+1'这里在调用时是默认的引用方式调用也就是这里操作n就等于操作c
response.Write c&"<br/>"'第二次时显示6
end sub
c=5'c被初始化为5
response.Write c&"<br/>"'第一次显示5
addone c'调用addone过程
response.Write c'c为6再次显示
%>


输出结果是:5
                     6 (不明白)
                     6

第二段代码:
<%
dim c
sub addone(n)
n=n+1
response.Write c&"<br/>"
end sub
response.Write c&"<br/>" 'c没有被初始化空值直接换行            '不同的部分
'下面的部分就是一样的了
c=5
response.Write c&"<br/>"
addone c
response.Write c
%>


输出结果:(换行)  (不明白)
                    5           (不明白)
                    6           (不明白)
                    6

http://www.lxzhcn.net
临时域名:http://yms126.1.suhai.com.cn/
版块版主招募中
网站论坛发帖无问题,欢迎发帖。
2007-11-29 17:26
yms123
Rank: 12Rank: 12Rank: 12
等级:版主
威望:75
帖子:8192
积分:83616
注册:2004-7-17

这个程序里传值时用的是传地址的方式将参数传递给过程,这时n与c的内存地址是一样的,所以操作n就等于操作c

http://www.lxzhcn.net
临时域名:http://yms126.1.suhai.com.cn/
版块版主招募中
网站论坛发帖无问题,欢迎发帖。
2007-11-29 17:29
lightsout
Rank: 1
等级:新手上路
帖子:9
积分:200
注册:2006-9-11

原帖由 [bold][underline]yms123[/underline][/bold] 于 2007-11-29 17:29 发表 [url=http://bbs.bc-cn.net/redirect.php?goto=findpost&pid=1122910&ptid=189313][/url]
这个程序里传值时用的是传地址的方式将参数传递给过程,这时n与c的内存地址是一样的,所以操作n就等于操作c
谢谢版主的详细解释 ,原来只是一个很简单的问题,我懂了~
以后还要版主大人多多指教!
2007-11-29 18:46
关于我们 | 广告合作 | 编程中国 | 清除Cookies | Archiver | WAP | TOP

编程中国 版权所有,并保留所有权利。鲁ICP备08000592号
Powered by Discuz, Processed in 0.057402 second(s), 9 queries.
Copyright©2004-2008, BCCN.NET, All Rights Reserved