VBScript 默认按地址传送参数值

作者:vkvi 来源:ITPOW(原创) 日期:2010-1-21

在 IE 中可演示本示例。

<script language="vbscript">
dim m
m = 0

sub foo(m)
    m = m + 1
end sub

call foo(m)
alert(m) ' 1
</script>

我们发现全局变量 m 经过 foo 过程后,值就变了,说明 VBScript 默认是按地址传送的。

如果我们把过程 foo 改一下:

sub foo(byval m)
    m = m + 1
end sub

此时 m 就是按值传送的了。实际上默认情况下,省略了参数的传输方式,就表示使用 byref,即按地址(引用)传送;也就是说如果我们要使用按值传送,就得加上 byval

相关文章