VBScript的参数引用

今天突然想在Web脚本里传回多个值,想想需要使用引用参数。但Javascript似乎没有?(我没找到这个功能)
于是想到VBScript有这种功能,试了试,一开始是这样子的:
<script language=vbscript>
 Function Test (ByRef a1)
  MsgBox a1
  a1 = 3
  Test = a1
 End Function
 
 Dim m,result
 m = "f"
 Test (m)
 MsgBox m
 MsgBox result
</script>
运行结果:f f (空)
什么?不行?我明明用了ByRef了呀,怎么回事?

然后就有以下几个版本的调试:
[版本一]
<script language=vbscript>
 Sub Test (ByRef a1)
  MsgBox a1
  a1 = 3
  Test = a1
 End Sub
 
 Dim m,result
 m = "f"
 Test m
 MsgBox m
 MsgBox result
</script>
运行结果:f 3 (空)
咦,行了,差别只是函数变成了过程!我晕翻。难道函数就不行了?

[版本二]
<script language=vbscript>
 Function Test (ByRef a1)
  MsgBox a1
  a1 = 3
  Test = a1
 End Function
 
 Dim m,result
 m = "f"
 Test m
 MsgBox m
 MsgBox result
</script>
运行结果:f 3 (空)
咦,又行了,差别只是调用函数的时候没有括号!我晕翻。

[版本三]
<script language=vbscript>
 Function Test (ByRef a1)
  MsgBox a1
  a1 = 3
  Test = a1
 End Function
 
 Dim m,result
 m = "f"
 result = Test (m)
 MsgBox m
 MsgBox result
</script>
运行结果:f 3 3
啊?这样又行?差别只是多加了个返回值!

看了以上三个版本都行,呜,是我运气不好,偏偏写了个错误的函数……晕了。

你可能感兴趣的:(VBScript)