函数参数的传递方式有两种,一种是按地址传递,一种是按值传递。
按地址传递:调用函数时,不直接把实参的值“告诉”函数,而是把地址“告诉”它,函数根据这个地址来寻找并处理值,如果函数修改了这个值,也就修改了这个地址对应的值。
按值传递:把值复制一份再给函数,这个值只属于函数,函数对这个值的修改不影响原值。
VBScript 中,要按地址传递可在形参前加 ByRef,要按值传递得在形参前加 ByVal,如果什么也不加则表示按地址传递。
示例:
[Ctrl+A 全部选择 提示:你可先修改部分代码,再按运行]
在上述示例中,只有 v3 这个全局变量没有被 Foo 改变。
函数形参的命名与全局变量相同与否是不影响结果的,形参 s1、s2、s3 改为 v1、v2、v3 结果也是相同的。