您的位置:首页 > 编程语言 > VB

VBS 函数和过程默认的传递方式

2015-07-18 13:52 253 查看
在介绍过程和函数的参数时跳过了一个概念:传址和传值。一个参数是传址还是传值取决于过程或函数定义中的声明。传址的参数用 ByRef 关键字说明,而传值的参数既可以用ByVal 关键字说明也可以不加任何说明——也就是说,没有明确地指定是哪一种的话,ByVal 就是默认值。

只可惜这段文字是错误的,VBS 过程和函数参数传递的方式默认是 ByRef,测试如下:





[vb] view
plaincopyprint?





Function f(x,y)

t = x

x = y

y = t

End Function



x = 123

y = 456

WSH.Echo x, y '123 456



x = 123

y = 456

f (x), (y)

WSH.Echo x, y '123 456



x = 123

y = 456

Call f(x,y)

WSH.Echo x, y '456 123



x = 123

y = 456

Call f((x),(y))

WSH.Echo x, y '123,456



x = 123

y = 456

z = f(x,y)

WSH.Echo x, y '456,123



x = 123

y = 456

z = f((x),(y))

WSH.Echo x, y '123,456



除了证明 VBS 过程和函数参数传递的方式默认是 ByRef 以外,该脚本还说明了当用括号把表达式括起来的时候,内部会创建一个临时变量来保存括号中表达式的值
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: